環境准備
本文將介紹如何在Windows系統上部署Django web項目,本次部署基於下面的架構:
Windows10 64位 + Python3.6 + Django1.11 + Apache2.4 + mod_wsgi
在本文中,我着重介紹在部署Django過程中關於mod_wsgi的安裝和在Apache httpd.conf中的關鍵配置內容,其余部分的安裝和配置,可參考本站相關鏈接內容自行解決。
各位先莫慌,總體而言,在Windows下部署Django比在Linux下部署要簡單得多!相信我,跟着我寫的來,分分鍾搞定。走起,Now!
Python虛擬環境
本節略。詳見本站鏈接,戳這里>>Python虛擬環境安裝。
Apache安裝與配置
本節略。詳見本站鏈接,戳這里>>Apache安裝、Apache配置。對於Django,無需配置虛擬目錄。
安裝mod_wsgi和獲取其配置信息
進入Python擴展庫官網下載mod_wsgi模塊:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
下載好了,現在進入Python虛擬環境,執行如下命令進行安裝(用pip安裝)和獲取其配置信息(輸入:mod_wsgi-express module-config),后面的配置中會用到這些配置信息。
Django與Apache的配置
首先記得修改:
Define SRVROOT "C:/Program Files/Apache24" # 修改Apache實際絕對安裝目錄 Listen 8080 # 監聽端口 ServerName www.wcwnina.com:8080 # 可訪問的主機,域名。需要在Windows的hosts文件中做IP映射
然后在 httpd.conf 配置文件末尾添加以下內容:
##--------------- Django項目部署配置 ---------------## # 聲明項目根目錄變量 Define DjangoRoot "D:/EduOnline/eduonline" # 添加"mod_wsgi.so"模塊,這三行都是命令"mod_wsgi-express module-config"顯示出來的 LoadFile "C:/Program Files/Python36/python36.dll" LoadModule wsgi_module "d:/eduonline/vpy-eduonline/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd" WSGIPythonHome "d:/eduonline/vpy-eduonline" # 指定項目的"wsgi.py"配置文件路徑 WSGIScriptAlias / "${DjangoRoot}/eduonline/wsgi.py" # 指定Django項目根目錄,並配置訪問權限。WSGIPythonPath取代DocumentRoot配置,或者保留DocumentRoot一致 WSGIPythonPath "${DjangoRoot}" <Directory "${DjangoRoot}"> Require all granted </Directory> # 項目靜態文件配置 Alias /static "${DjangoRoot}/static" <Directory "${DjangoRoot}/static"> AllowOverride None Options None Require all granted </Directory> # 項目media文件配置, 用戶上傳圖片等媒體文件 Alias /media "${DjangoRoot}/media" <Directory "${DjangoRoot}/media"> AllowOverride None Options None Require all granted </Directory>
然后進入Django項目的settings.py文件下進行配置。
# 上線時必須將DEBUG設為False DEBUG = False # 可指定主機,若元素為'*',表示所有同一局域網內的網絡均可被訪問 ALLOWED_HOSTS = ['*']
重啟Apache服務
修改完配置后,只需重啟Apache服務即可,此時會連着wsgi服務一並重啟,因為httpd.conf配置中加載了mod_wsgi模塊。
CMD重啟Apache命令:
httpd -k restart -n apache # apache為Windows托管服務名 或:
net stop apache 然后 net start apache # Windows服務管理命令,沒有restart
測試效果
訪問測試:在瀏覽器地址欄輸入"www.wcwnina.com:8080"或"localhost:8080"回車就可以進入Django項目網站了!其中www.wcwnina.com為httpd.conf中配置的主機域名ServerName。
效果:
OK,就這么簡單,大功告成!
至此。轉載請注明出處。
[ 本站相關鏈接:>>Linux環境下部署Django ]