我已经使用其内置服务器运行和开发了我的 Flask 应用程序,没有发生任何意外。它运行良好,并且非常流畅和有趣。不幸的是,Lighttpd 一如既往地难以部署。我尽可能地按照说明进行操作,但不幸的是,我的应用程序仍然无法正常工作。
到目前为止,这是我的配置:
server.modules += ( "mod_fastcgi" )
server.modules += ( "mod_rewrite" )
fastcgi.server = ("/bioinfo/main.fcgi" =>
((
"socket" => "/tmp/bioinfo-fcgi.sock",
"bin-path" => "/var/www/bioinfo/main.fcgi",
"check-local" => "disable",
"max-procs" => 1
))
)
fastcgi.debug = 1
url.rewrite-once = (
"^/bioinfo/static/(.*)$" => "/bioinfo/static/$1",
"^/bioinfo/(.*)$" => "/bioinfo/main.fcgi/$1"
)
# in: /etc/lighttpd/conf-available/10-fastcgi.conf
这样做的原因是它显示主页,但不显示任何后续页面。
我的 Flask 应用程序中有几个 app.route 处理程序,我使用客户端中的一些 XHR 使用 GET 或 POST 访问它们。
另外,这是我的 .fcgi 文件,只是为了确保我在这里没有任何明显的错误:
#!/usr/bin/python
from flup.server.fcgi import WSGIServer
from main import app
if __name__ == '__main__':
WSGIServer(app).run()
如果有人能找出问题所在,即 AJAX 不适用于应用程序的 URI(很可能是因为我的重写规则不可靠),我将不胜感激。提前谢谢各位!