最近在學習Django,所以須要mod_wsgi,我下載了mod_wsgi-4.4.11,以前版本的mod_wsgi還有二進制版本提供的,可是4.4.11版本已經不提供二進制版本了,只能下載源代碼本身編譯了,下載地址:https://github.com/GrahamDumpleton/mod_wsgi/releases。python
下載解壓後,在win32目錄下找到與本身的python和apache服務器版本對應的mk文件,我安裝的是python3.4和apache2.4,所以就找到ap24py34-win32-VC10.mk,用記事本打開,將其中的APACHE_ROOTDIR和PYTHON_ROOTDIR修改成本身的apache和python的根目錄。git
而後就是打開命令行設置一下環境進行編譯了,設置環境變量,這裏須要設置path, include和lib,在cmd窗口中輸入:github
set path = C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin;C:\Program Files\Microsoft Visual Studio 10.0\VC\bin;C:\Program Files\Microsoft Visual Studio 10.0\Common7; set include = C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include;C:\Program Files\Microsoft Visual Studio 10.0\VC\include; set lib = C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib;C:\Program Files\Microsoft Visual Studio 10.0\VC\lib;
設置好環境變量,而後輸入:nmake -f ap24py34-win32-VC10.mk install,就開始進行編譯了。apache
可是編譯過程當中出現錯誤:api
錯誤提示信息說是由於wsgi_memory.obj中沒法解析外部符號_GetProcessMemoryInfo@12,也就是說找不到Windows調用GetProcessMemoryInfo的實現,所以,在src\server目錄中找到wsgi_memory.c,在該文件中添加下面的代碼:服務器
#pragma once #pragma message("Psapi.h --> Linking with Psapi.lib") #pragma comment(lib,"Psapi.lib")
而後再進行編譯,就能夠看到編譯成功了,而且mod_wsgi.so文件也自動拷貝到apache服務器目錄中去了!學習