Apache部署Django項目


  Django項目本身就可以啟動運行,為什么還需要部署到Apache或者Nginx上呢?初學者都會遇到這個問題,我們來看看官方解釋:It’s intended only for use while developing. (We’re in the business of making Web frameworks, not Web servers.),意思是django的業務是制作Web框架,而不是Web服務器。自帶的web server只是方便開發,並不能直接放到生產環境,有興趣的同學可以自己測試兩者性能上的差距。 言歸正傳,我們這里主要講述如何搭建Apache環境。

 

安裝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/   出現welcome頁面代表成功。

 

 

mod_wsgi

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目錄執行安裝操作:

pip3 install mod_wsgi-4.5.17+ap24vc10-cp34-cp34m-win_amd64.whl

在Scripts目錄執行:mod_wsgi-express module-config 

把三行內容復制到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出現一個小黑框了。

bin目錄下運行cmd命令httpd -k install -n “服務名” (不加參數,默認Apache2.4)

 

運行apache:net start apache2.4

停止apache:net stop apache2.4

刪除apache:sc delete Apache2.4

 

 

 

 
 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM