最近開發(fā)了一個 Google Analytics 相關的應用,但需要在 Windows 下部署,結合網上的相關經驗,最終選擇了 apache+mod_wsgi 這樣的配置。
修改python應用
(via: wiki)
因為 mod_wsgi 默認要求入口名稱為 application 所以我們需要對自己的 python web 應用做一些修改。
假設我們使用flask 搭建的應用,而默認的入口名稱為 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
應用的入口修改好之后,就需要安裝 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, 下載后運行程序,按提示安裝,具體過程這里不詳述。
安裝并配置 mod_wsgi
目前 Windows 下對 python 支持的最好的應該就是 [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 中加入如下配置
配置應用 vhost
在 conf/httpd.conf 中啟用 vhosts 配置文件
Include conf/extra/httpd-vhosts.conf
編輯 conf\extra\httpd-vhosts.conf 刪除無效的示例代碼,并加入應用的配置
<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 替換成應用真實的路徑,盡量避免將應用放在中文或者有包含空格的路徑中
接下來啟動 Apache 并訪問 http://localhost:5000 即可。