Windows下實現Django + Apache 部署
工具:Django1.11.6,Apache2.4.33
Django專案地址:D:\picture
第一步:下載與安裝Apache
選擇對應電腦版本下載Apache2.4:下載地址
我的是64位win7,所以下載的是第一個。
下載完成之後解壓到資料夾,進入資料夾的 /Apache24 目錄下。
第二步:配置Apache
開啟 conf/httpd.conf 檔案,進行一些修改。
- ServerRoot "E:\httpd-2.4.33-Win64-VC15\Apache24" # 這個是我的解壓後的資料夾
- ……
- Listen 127.0.0.1:8080 #修改埠號
- ……
- ServerName www.example.com:8080
- ……
- DocumentRoot "E:\httpd-2.4.33-Win64-VC15\Apache24\htdocs" #對應apche資料夾下的htdocs資料夾,以下同
- <Directory "E:\httpd-2.4.33-Win64-VC15\Apache24\htdocs">
- ……
- ScriptAlias /cgi-bin/ ""E:\httpd-2.4.33-Win64-VC15\Apache24\cgi-bin"
- ……
- <Directory "E:\httpd-2.4.33-Win64-VC15\Apache24\cgi-bin">
- AllowOverride None
- Options None
- Require all granted
- </Directory>
建議使用Notepad++ 開啟,可使用Ctrl+f 進行查詢,因為上面需要修改的資料並不在同一個位置。
路徑和埠修改好之後
進入 bin 目錄下啟動httpd.exe 檔案,會看到一個一閃而逝的視窗
然後通過瀏覽器訪問 127.0.0.1:8080
網頁出現 It works 則表示配置成功,否則為失敗,需仔細檢查上述修改是否正確。
第三步:下載安裝mod_wsgi獲取wsgi相關資訊
Ctrl + f 輸入mod_wsgi 進行下載
要根據自己Python版本與電腦資訊下載對應的版本。
我的是 Python3.6,電腦64位所以下載的是箭頭所指的版本。
下載完成之後進入命令列進行安裝,然後輸入 mod_wsgi-express module-config
將顯示出來的三條資訊記住,後面配置檔案中要用到。
如果不知道怎麼安裝,參考 點選開啟連結
第四步:部署Django與Apache
開啟之前的 httpd.conf 檔案,在檔案末尾加入以下資訊
#新增mod_wsgi.so模組,這三行是上面命令列中顯示出來的
LoadFile "d:/python36/python36.dll"
LoadModule wsgi_module "d:/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "d:/python36"
#指定專案的wsgi.py配置檔案路徑,這個py檔案是在你的Django專案中
WSGIScriptAlias / d:/picture/picture/wsgi.py
#指定專案目錄,即你的Django專案路徑
WSGIPythonPath d:/picture
<Directory d:/picture/picture>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#專案靜態檔案地址, Django專案中靜態檔案的路徑
Alias /static D:/picture/tu/static
<Directory D:/picture/tu/static>
AllowOverride None
Options None
Require all granted
</Directory>
#專案media地址, 上傳圖片等資料夾的路徑
Alias /media D:/picture/tu/media
<Directory D:/picture/tu/media>
AllowOverride None
Options None
Require all granted
</Directory>
然後進入Django專案內的settings.py檔案下進行配置
DEBUG = False
TEMPLATE_DEBUG = False
ALLOWED_HOSTS = ['*']
重啟httpd.exe程式,瀏覽器訪問 127.0.0.1:8080 就可以看到你的Django專案了。
如果出錯,可以進入 logs/error.conf 檔案中進行檢視錯誤資訊並相應解決。
成功部署後如果想要你的Django專案能通過區域網訪問,則需要進一步的配置。
進入 httpd.conf 檔案中,修改前面設定的Listen和ServerName為
Listen 你的IP地址:80
......
ServerName 你的IP地址:80
如果不知道自己的ip地址
儲存檔案,然後重啟httpd.exe程式就OK了。