我在虚拟机上运行 nginx,我想运行一个 Trac 站点。我需要运行 python FastCGI 服务器,但我不知道要使用哪个服务器。我发现了以下内容:
- Lighttpd spawn-fcgi但这似乎要求你编译 lighttpd 只是为了得到 fcgi 服务器,这很奇怪。
- fcgi.py但是这个似乎已被弃用。至少它的记录很差。
- Flup这个依赖于 ubuntu (python-cheetah{a} python-mysqldb{a} python-webpy{a}) 似乎没有必要。记录也很差。
是否有任何最近的设置指南?Trac 自己的 FastCGI 设置页面似乎遗漏了一些步骤。
trac
现在应该是 WSGI 兼容的,所以你可以使用任何支持的方法来运行站点。如果它是一个低流量的站点,您可以随时使用 CGI,如果您需要它,最终会转移到其他地方。对于其他方法,使用mod_wsgi
或安装flup
FCGI(即使它安装了额外的依赖项)。要使用
flup
,你必须导入相应的 WSGI 服务器,然后运行它,即如果您想将其作为外部服务器运行(即不是由 Web 服务器启动),请替换为:
好吧,Django 本身使用了flup。除非您有 mod_wsgi 或类似的东西,否则它是运行 python fastcgi 应用程序的一种很棒的方法。
运行flup的代码是:
为什么特别是 FastCGI?在 Python 中,有一个用于编写 Web 服务器应用程序的标准接口,称为 WSGI。各种服务器为此提供了框架;例如,
mod_wsgi
对于 Apache。对于 nginx,似乎有: http : //wiki.nginx.org/NginxNgxWSGIModule,它甚至基于 mod_wsgi。