最近開發(fā)了一個 Google Analytics 相關(guān)的應(yīng)用,但需要在 Windows 下部署,結(jié)合網(wǎng)上的相關(guān)經(jīng)驗(yàn),最終選擇了 apache+mod_wsgi 這樣的配置。
修改python應(yīng)用
(via: wiki)
因?yàn)?mod_wsgi 默認(rèn)要求入口名稱為 application 所以我們需要對自己的 python web 應(yīng)用做一些修改。
假設(shè)我們使用flask 搭建的應(yīng)用,而默認(rèn)的入口名稱為 app, 建立一個 wsgi_handler.wsgi
1
2
3
|
import sys, os sys.path.insert( 0 , os.path.dirname(__file__)) from application import app as application |
下載安裝 httpd
應(yīng)用的入口修改好之后,就需要安裝 apache 和 mod_wsgi 了,我使用的是32位的系統(tǒng),64位系統(tǒng)下載的安裝包可能 與32位的不同。
打開頁面 http://apache.dataguru.cn//httpd/binaries/win32/,下載 httpd-2.2.22-win32-x86-no_ssl.msi, 下載后運(yùn)行程序,按提示安裝,具體過程這里不詳述。
安裝并配置 mod_wsgi
目前 Windows 下對 python 支持的最好的應(yīng)該就是 [mod_wsgi][mw] 了。
下載 https://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so
將下載的文件重命名為 mod_wsgi.so 后移動到 apache 的 modules 目錄:
在 conf/httpd.conf 中加入如下配置
配置應(yīng)用 vhost
在 conf/httpd.conf 中啟用 vhosts 配置文件
Include conf/extra/httpd-vhosts.conf
編輯 conf\extra\httpd-vhosts.conf 刪除無效的示例代碼,并加入應(yīng)用的配置
<VirtualHost *:5000>
ServerName localhost
WSGIScriptAlias / E:\Projects\ga-data\wsgi_handler.wsgi
<Directory E:\Projects\ga-data>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
其中 E:\Projects\ga-data 替換成應(yīng)用真實(shí)的路徑,盡量避免將應(yīng)用放在中文或者有包含空格的路徑中
接下來啟動 Apache 并訪問 http://localhost:5000 即可。