1. 程式人生 > >windows 搭建 django + apache 環境

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

         成功訪問如下圖: