Django Windows+Apache+mod_wsgi環境下部署

環境準備

本文將介紹如何在Windows系統上部署Django web項目,本次部署基於下面的架構:html

Windows10 64位+Python3.6+Django1.11+Apache2.4+mod_wsgi

在本文中,我着重介紹在部署Django過程當中關於mod_wsgi的安裝和在Apache httpd.conf中的關鍵配置內容,其他部分的安裝和配置,可參考本站相關連接內容自行解決。python

各位先莫慌,整體而言,在Windows下部署Django比在Linux下部署要簡單得多!相信我,跟着我寫的來,分分鐘搞定。走起,Now!web

Python虛擬環境

本節略。詳見本站連接,戳這裏>>Python虛擬環境安裝express

Apache安裝與配置

本節略。詳見本站連接,戳這裏>>Apache安裝Apache配置。對於Django,無需配置虛擬目錄。apache

安裝mod_wsgi和獲取其配置信息

進入Python擴展庫官網下載mod_wsgi模塊:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi瀏覽器

下載好了,如今進入Python虛擬環境,執行以下命令進行安裝和獲取其配置信息(輸入: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 配置文件末尾添加如下內容:ide

##----- Django項目部署 -----##
# 添加"mod_wsgi.so"模塊,這三行都是命令"mod_wsgi-express module-config"顯示出來的
LoadFile "c:/python36/python36.dll"
LoadModule wsgi_module "e:/eduonline/vpyedu/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "e:/eduonline/vpyedu"

# 指定項目的"wsgi.py"配置文件路徑
WSGIScriptAlias / "E:/EduOnline/eduonline/eduonline/wsgi.py"

# 指定Django項目根目錄,並配置訪問權限。WSGIPythonPath取代DocumentRoot配置,或者保留DocumentRoot一致
WSGIPythonPath "E:/EduOnline/eduonline"
<Directory "E:/EduOnline/eduonline">
    Require all granted
</Directory>

# 項目靜態文件配置 
Alias /static "E:/EduOnline/eduonline/static"
<Directory "E:/EduOnline/eduonline/static">
    AllowOverride None
    Options None
    Require all granted
</Directory>

# 項目media文件配置, 用戶上傳圖片等媒體文件
Alias /media "E:/EduOnline/eduonline/media"
<Directory "E:/EduOnline/eduonline/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 ]

相關文章
相關標籤/搜索