红联首页 凝聚Linux人的力量
菜鸟过关 | 精华文档 | 同城人(交友) | 我与Linux的故事 | Linux新闻 | Linux视频 | Linux人才 | 软件下载 | 大学校园 | English
发新话题
打印

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

记录下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, 改为为
<IfModule mod_fcgid.c>
AddHandler fcgid-script .php .py .pl .fcgi
SocketPath /var/lib/apache2/fcgid/sock
IPCConnectTimeout 20
</IfModule>

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

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

ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin">
DirectoryIndex index.html index.py
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

好了,搞定了,重启下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了。

TOP

发新话题