我有一个虚拟机运行nginx,我想运行一个Trac站点。 我需要运行一个python FastCGI服务器,但我不知道哪个服务器要使用。 我发现了以下内容:
有没有最近的指导设置? Trac自己的FastCGI设置页面似乎错过了一些步骤。
trac现在应该是WSGI兼容的,所以你可以使用任何支持的方法来运行该网站。 如果它是一个低stream量的网站,你总是可以使用CGI,如果你需要的话,最终可以转移到别的东西上。 对于其他方法,请使用mod_wsgi或FCGI安装flup (即使它安装了额外的依赖项)。
要使用flup ,必须导入相应的WSGI服务器,然后运行它,即
from flup.server.fcgi_fork import WSGIServer def main_app(...): ... WSGIServer(main_app).run()
如果您想将其作为外部服务器运行(即不是由Web服务器启动),请将其replace为:
WSGIServer(main_app,bindAddress=('1.2.3.4',9999)).run()
好了,Django本身使用flup。 它是一个非常棒的方法来运行python fastcgi应用程序,除非你有一个mod_wsgi或类似的东西。
运行flup的代码是:
from flup.server.fcgi import WSGIServer def app(environ, start_response): start_respone('200 OK', [('Content-Type', 'text/plain')]) yield "Hello World" WSGIServer(app).run()
为什么FastCGI特别? 在Python中,有一个用于编写Web服务器应用程序的标准接口,称为WSGI。 各种服务器为此提供了框架; 例如Apache的mod_wsgi 。 对于nginx,似乎是: http ://wiki.nginx.org/NginxNgxWSGIModule,它甚至基于mod_wsgi。