標籤:部署 pat ges 2.3 dir ase 項目 複試 網上
最近項目組正在上python+django。現在將部署過程總結下,相關檔案也備份下,面得每次都要弄半天。網上很多不靠譜的做法,讓我反覆試錯,浪費不少時間。
原材料:
Python3.6.2
httpd-2.4.27-win64-VC14
mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl
Django-1.11.5
說明:
由於Python2.7未來會停止更新,公司就採用最新版算了
Apache不能編譯成功,乾脆就下了,現在採用的2.4 VC14版本,為啥要用VC14,因為mod_wsgi最新版只支援到VC14
mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl:我們來解釋下:
ap24vc14:apache 2.4 VC14版本
cp36-cp36m:這一節就是指python3.6+
win_amd64:就是只64位系統
在這裡切記:一定要找到和你的系統版本,python版本,apache版本一致的幾個套件,否則死活不成功。
接下裡:我們就講下如何安裝:
1.配置Apache
Apache24:解壓下來如下。
這裡,我們需要修改:config檔案。
在37行附近:修改apache的路徑:
ServerRoot "D:/install/httpd-2.4.27-win64-VC14/Apache24"
在這個檔案裡面。預設是C:/Apache24。一鍵替換為你的實際路徑。可以參考
在57行附近,修改監聽的連接埠:
#Listen 12.34.56.78:80
Listen 8088
然後運行httpd.exe.這裡,需要用命令列中運行。只要命令列視窗不退,表明運行成功。使用http://localhost:8088進行訪問
2.安裝python及pip
安裝python3.6.2的時候,會把pip一起安裝出來。然後配置環境變數。網上多的很的教程,隨便 參考 這個文檔
3.安裝Django
參考這個文檔: django 官方文檔 在這裡下載也可以
4.用mod_wsgi打通apache和django
注意:在低版本使用mod_wsgi.so即可讓django和apache聯絡起來。但是,這個版本的wsgi沒有.so檔案。那麼我們如何載入wsgi呢?
將你的 mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl 檔案,拷貝到python scripts的目錄下,用
pip3 install mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl
進行安裝。之後會出現如下內容:
PS C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts> pip3 install C:\Users\Administrator\AppData\Lo
cal\Programs\Python\Python36\Scripts\mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl
Requirement already satisfied: mod-wsgi==4.5.17+ap24vc14 from file:///C:/Users/Administrator/AppData/Local/Programs/Python/Python36/Scripts/mod_wsgi-4.5.17%2Bap24vc14-cp36-cp36m-win_amd64.whl in c:\users\administrator\appdata\local\programs\python\python36\lib\site-packages
PS C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts> mod_wsgi-express module-config
LoadFile "c:/users/administrator/appdata/local/programs/python/python36/python36.dll"
LoadModule wsgi_module "c:/users/administrator/appdata/local/programs/python/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "c:/users/administrator/appdata/local/programs/python/python36"
PS C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts>
從命令列視窗把黑色字型部分拷貝出來,放到apache httpd.config
的 最後一個 LoadModule 的位置。大概在180行左右。
緊接著,在後寫入:
#wsgi檔案的位置
WSGIScriptAlias / E:/Workspace/pyworkspace/mycms/mycms/wsgi.py
#項目位置
WSGIPythonPath E:/Workspace/pyworkspace/mycms
#設定指令碼
<Directory E:/Workspace/pyworkspace/mycms/mycms>
<Files wsgi.py>
Require all granted
setHandler wsgi-script
</Files>
</Directory>
5.修改wsgi檔案:
把以下代碼放到wsgi檔案的紅色框內
import sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
至此,我們就結束了django 的部署。在我們的views中,有這樣的返回:
此時啟動apache,輸入你實際的地址:
Windows下Python3.6.2+Django-1.11.5+httpd-2.4.27-win64-VC14部署網站