记录下debian配置fastcgi+python的过程

先安装 fastcgi先
apt-get install libapach2-mod-fcgid

如果需要支持 php 之类的,可以装个php。 apt-get install php5-cgi

修改apache的fcgid配置文件 :/etc/apache2/mods-enabled/fcgid.conf, 改为为

addhandler fcgid-script .php .py .pl .fcgi
socketpath /var/lib/apache2/fcgid/sock
ipcconnecttimeout 20

其中顺便支持了下php,perl之类的。

修改apache的site配置文件default之类的,增加脚本目录

scriptalias /cgi-bin/ /var/www/cgi-bin/

directoryindex index.html index.py
allowoverride none
options execcgi -multiviews +symlinksifownermatch
order allow,deny
allow from all

好了,搞定了,重启下apache2 试试。

/etc/init.d/apache2 restart

然后在 /var/www/cgi-bin 下放个测试文件试试,比如index.py,如下:

#!/usr/bin/python

try:
from fcgi import wsgiserver

def myapp(environ, start_response):
start_response(‘200 ok’, [(‘content-type’, ‘text/plain’)])
return [‘hello world!\n’]

wsgiserver(myapp).run()

except exception, e:
print ‘content-type: text/plain\r\n\r\n’,
print ‘oops…’
print
print ‘trac detected an internal error:’
print
print e
print

必须说明的是,fcgi.py 必须放在index.py的当前路径下,否则找不到。

找不到 fcgi.py的话,可以从这里下:

wget http://svn.saddi.com/py-lib/trunk/fcgi.py
index.py 必须有执行权限:

chmod 755 index.py

ok了,用浏览器打开试试,就可以看到hello world了。