windows 搭建 django + apache 環境
前言:雖然網上有很多教程,但在不同的版本之間還是有些差異的,所以把自己搭建成功的例子記錄一下
1.各個軟體版本:
①系統:windows Server 2012 R2 Datacenter 64
②python3.5.4 32
③Django 2.0.8
④apache 2.4.34 32
2.環境搭建:
2.1 apache 下載安裝:根據自己的需要下載windows apache版本(下載地址)
我下載的是 httpd-2.4.34-o102o-x86-vc14.zip
2.1.1 這裡我將上面下載的安裝包解壓到C:\Apache24
2.1.2 修改c:\Apache24\conf\httpd.conf內容
將Define SRVROOT "/Apache24" 改為 Define SRVROOT "c:/Apache24"
將Listen 80 改為 Listen 8000
2.1.3 雙擊開啟c:\Apache24\bin\httpd.exe,開啟後程序自動退出即啟動失敗。
需要安裝visual C++庫執行時元件,在上面下載apache的底部有如下內容:
下載對應的visual C++ 庫運輸時元件:
下載後雙擊安裝,出現如下問題:
上述問題:0x80240017-未指定的錯誤 是windows server 2012 R2系統問題,需要更新系統KB2919355補丁:
補丁安裝規則:
所以要安裝上述補丁需要下載安裝KB2919442(x64): 下載地址
2.1.4 雙擊開啟c:\Apache24\bin\httpd.exe,開啟後程序沒有自動退出即成功。
在瀏覽器開啟 http://127.0.0.1:8000
成功出現如下內容即安裝成功:
2.1.5 如果還是安裝不成功,可能是埠被佔用,在命令列cmd 轉到httpd.exe目錄下執行httpd -k install可檢視失敗原因。
若是埠被佔用,可用netstat -ano|findstr "被佔用埠號" 被佔用埠號是具體錯誤的埠號比如8000
查到佔用的埠的程序號,再使用 taskkill -f -pid xxx 關閉程序。
2.2 安裝python (3.5.4 32)
2.2.2 安裝
如圖打鉤,選擇Customize installation
安裝成功後顯示提示。
2.3 安裝Django (2.0.8 )
2.3.2 下載完解壓後, 命令列進入解壓目錄:
安裝成功:
安裝成功使用django-admin若出現pytz錯誤 使用pip install -U pytz解決問題。
2.4 安裝 mod_wsgi
2.4.2 安裝
pip install mod_wsgi-4.5.24+ap24vc14-cp35-cp35m-win32.whl
mod_wsgi-express module-config
#輸出 後面部署Django+Apache需要以下的輸出內容
LoadFile "c:/program files (x86)/python35-32/python35.dll"
LoadModule wsgi_module "c:/program files (x86)/python35-32/lib/site-packages/mod_wsgi/server/mod_wsgi.cp35-win32.pyd"
WSGIPythonHome "c:/program files (x86)/python35-32"
2.5 Django + Apache部署:
2.5.1 使用django-admin建立伺服器專案:
#在我的C:\mycode下執行命令
c:\mycode> django-admin startproject myproject1
2.5.2 配置Apache: 修改c:\Apache24\conf\httpd.conf在其檔案末尾加入如下內容
#新增mod_wsgi.so模組,這三行是安裝mod_wsgi命令列中顯示出來的
LoadFile "c:/program files (x86)/python35-32/python35.dll"
LoadModule wsgi_module "c:/program files (x86)/python35-32/lib/site-packages/mod_wsgi/server/mod_wsgi.cp35-win32.pyd"
WSGIPythonHome "c:/program files (x86)/python35-32"
#設定wsgi.py檔案路徑
WSGIScriptAlias / c:/mycode/myproject1/myproject1/wsgi.py
#指定專案目錄,即你的Django專案路徑
WSGIPythonPath c:/mycode/myproject1
<Directory c:/mycode/myproject1/myproject1>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Listen 8000
ServerName 127.0.0.1:8000
2.5.3 測試:(記得把伺服器的訪問牆關掉,否則別的電腦無法訪問)
使用區域網的其他計算機瀏覽器訪問
輸入:http://伺服器IP:埠號/admin
成功訪問如下圖: