使用Python和Flup在FCGI和CGI之间切换

时间:2010-12-09 20:12:48

标签: python cgi fastcgi flup

我目前正在使用Flup(http://trac.saddi.com/flup)将所有Python CGI脚本移动到WSGI标准,我创建了一个dispatch.fcgi文件,并按照文档中的描述调用并使用Flup:

from flup.server.fcgi import WSGIServer
...

并且像魅力一样工作,当我尝试切换到CGI以在非缓存模式下调试某些东西时出现问题,避免杀死进程或触摸文件,这应该像替换要导入的Flup服务器一样简单: / p>

from flup.server.cgi import WSGIServer
...

但随后浏览器返回500错误,我检查了标头和通过SSH执行的html似乎没问题,然后我认为应该是一些服务器配置错误(Dreamhost共享),我发现服务器无法执行扩展名为.fcgi的Python脚本,所以我找到了一个解决方法,将其添加到.htaccess文件中:

AddHandler cgi-script .fcgi

然后CGI模式几乎可以工作(wsgi.input总是空的,甚至以正确的方式读取它通过长度)但FCGI缓存根本不起作用,启动了很多进程。此刻我完全陷入僵局,我只想要一个简单的方法从FCGI切换到CGI,这个方法有效吗?或者我错过了什么?

非常感谢。

1 个答案:

答案 0 :(得分:1)

FCGI协议与CGI不同。这就是为什么从FCGI到CGI的简单更改不起作用,并且在将Apache .fcgi文件处理程序更改为CGI处理程序时FCGI不起作用。