1. 程式人生 > 其它 >[轉]Apache部署Django專案

[轉]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:80Listen 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-expressmodule-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 = FalseALLOWED_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




---------------------
作者:三隻松鼠
來源:CNBLOGS
原文:https://www.cnblogs.com/shenh/p/7552722.html
版權宣告:本文為作者原創文章,轉載請附上博文連結!