我是在Ubuntu 12.04下使用这个组合的。使用的是wsgi模块。
首先,要讲的是如何在Apache里配置使得其可以运行Python脚本。Apache虚拟机的设置有点儿复杂,特别是Ubuntu下,Ubuntu自己设置了许多个文件夹,导致设置更加复杂了。由于我不是很熟悉,所以只讲比较通配的一种。
我这里假设你该安装的模块都已经安装完毕了。
首先,是打开Apache的配置文件,Ubuntu下,这个文件不是http.conf,而是/etc/apache2/sites-available/default这个文件。
打开这个文件sudo nano /etc/apache2/sites-available/default
在DocumentRoot /var/www这一行下面,增加如下内容:
WSGIScriptAlias /weixin /var/www/weixin/code.py AddType text/html .py <Directory "/var/www/weixin"> AllowOverride None Order allow,deny allow from all </Directory>
然后保存。这里有个要讲的,weixin是我的一个python应用的目录,路径为/var/www/weixin,code.py是脚本
重启apache:sudo service apache2 restart
然后,最重要的地方出现了。
不知道你是否遇到过ImportError,就是你自己写的一些模块,Apache说找不到,你明明是引用了的。
所以,最最重要的,就是你在import web这句之前,一定要先写下面三句:
import os,syspath = os.path.dirname(os.path.realpath(__file__))
sys.path.append(path)
在你import web之后,还要加如下两句:
app = web.application(urls,globals(),autoreload=False)application = app.wsgifunc()
这样,你的应用应该就可以运行了