Apache部署Django項目圖文詳解
前言
Django項目本身就可以啟動運行,為什么還需要部署到Apache或者Nginx上呢?初學(xué)者都會遇到這個問題,我們來看看官方解釋:It's intended only for use while developing. (We're in the business of making Web frameworks, not Web servers.),意思是django的業(yè)務(wù)是制作Web框架,而不是Web服務(wù)器。自帶的web server只是方便開發(fā),并不能直接放到生產(chǎn)環(huán)境,有興趣的同學(xué)可以自己測試兩者性能上的差距。 言歸正傳,我們這里主要講述如何搭建Apache環(huán)境。
安裝Apache
Apache(win 64)下載:https://www.apachehaus.com/cgi-bin/download.plx#APACHE24VC09
1.解壓縮,修改Apache24\conf\httpd.conf 文件中的apache路徑和端口:
......
Define SRVROOT "E:/Apache24"
ServerRoot "${SRVROOT}"
......
#Listen 12.34.56.78:80
Listen 8088
......
ServerName localhost:8088
......
2.打開E:\Apache24\bin\httpd.exe,在瀏覽器輸入http://127.0.0.1:8088/ 出現(xiàn)welcome頁面代表成功。

mod_wsgi 模塊下載:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
1.把whl文件改成zip,解壓縮,把里面的mod_wsgi.so拷貝到E:\Apache24\modules路徑下,httpd.conf 中新增一段配置:
#添加mod_wsgi.so 模塊 LoadModule wsgi_module modules/mod_wsgi.so
若mod_wsgi解壓后找不到mod_wsgi.so文件(如有跳過此步驟)
運行cmd,進入Scripts目錄執(zhí)行安裝操作:
pip3 install mod_wsgi-4.5.17+ap24vc10-cp34-cp34m-win_amd64.whl
在Scripts目錄執(zhí)行:mod_wsgi-express module-config

把三行內(nèi)容復(fù)制到httpd.conf:
#添加mod_wsgi.so 模塊 LoadFile "c:/python34/DLLs/python3.dll" LoadModule wsgi_module "c:/python34/lib/site-packages/mod_wsgi/server/mod_wsgi.pyd" WSGIPythonHome "c:/python34"
配置Apache與Django
1.打開Apache配置文件 httpd.conf,在末尾增加一段配置:
#添加mod_wsgi.so 模塊 LoadFile "c:/python34/DLLs/python3.dll" LoadModule wsgi_module "c:/python34/lib/site-packages/mod_wsgi/server/mod_wsgi.pyd" WSGIPythonHome "c:/python34" #指定myweb項目的wsgi.py配置文件路徑 WSGIScriptAlias / D:/mysite/mysite/wsgi.py #指定項目路徑 WSGIPythonPath D:/mysite <Directory D:/mysite/mysite> <Files wsgi.py> Require all granted </Files> </Directory> Alias /static D:/mysite/static <Directory D:/mysite/static> AllowOverride None Options None Require all granted </Directory>
2.打開django項目setting配置:
DEBUG = False ALLOWED_HOSTS = ['127.0.0.1','localhost'] #允許訪問的ip。也可以用'*'表示,代表不受限制
重啟bin\httpd.exe,輸入URL

測試OK
3.將Apache安裝成windows server,就不需要每次打開httpd.exe出現(xiàn)一個小黑框了。
bin目錄下運行cmd命令httpd -k install -n “服務(wù)名” (不加參數(shù),默認(rèn)Apache2.4)

運行apache:net start apache2.4
停止apache:net stop apache2.4
刪除apache:sc delete Apache2.4
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python中?OpenCV和Pillow處理圖像操作及時間對比
這篇文章主要介紹了python中OpenCV和Pillow處理圖像操作及時間對比,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09
Python的Bottle框架中實現(xiàn)最基本的get和post的方法的教程
這篇文章主要介紹了Python的Bottle框架中實現(xiàn)最基本的get和post的方法的教程,Bottle框架在Python開發(fā)者中的人氣很高,需要的朋友可以參考下2015-04-04
Python實現(xiàn)Telnet自動連接檢測密碼的示例
這篇文章主要介紹了Python實現(xiàn)Telnet自動連接檢測密碼的示例,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04
pandas中關(guān)于apply+lambda的應(yīng)用
本文主要介紹了pandas中關(guān)于apply+lambda的應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
Python 將RGB圖像轉(zhuǎn)換為Pytho灰度圖像的實例
下面小編就為大家?guī)硪黄狿ython 將RGB圖像轉(zhuǎn)換為Pytho灰度圖像的實例。具有很好的參考價值。希望對大家有所幫助。一起跟隨小編過來看看吧2017-11-11
使用Django Form解決表單數(shù)據(jù)無法動態(tài)刷新的兩種方法
這篇文章主要介紹了使用Django Form解決表單數(shù)據(jù)無法動態(tài)刷新的兩種方法,需要的朋友可以參考下2017-07-07
Python實現(xiàn)找到同名文件并復(fù)制到其他文件夾中
這篇文章主要為大家介紹了如何基于Python語言,實現(xiàn)依據(jù)某一文件夾中大量文件的名稱復(fù)制另一文件夾中的同名文件,文中的示例代碼簡潔易懂,需要的可以參考一下2023-05-05
Python使用enumerate獲取迭代元素下標(biāo)
這篇文章主要介紹了python使用enumerate獲取迭代元素下標(biāo),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02

