Flask – FastCGI
FastCGI 是 Flask 应用程序在 nginix、lighttpd 和 Cherokee 等 Web 服务器上的另一种部署选项。
配置 FastCGI
首先,您需要创建 FastCGI 服务器文件。 我们称它为 yourapplication.fcgi。
from flup.server.fcgi import WSGIServer from yourapplication import app if __name__ == '__main__': WSGIServer(app).run()
nginx 和旧版本的 lighttpd 需要显式传递套接字才能与 FastCGI 服务器通信。 为此,您需要将套接字的路径传递给 WSGIServer。
WSGIServer(application, bindAddress = '/path/to/fcgi.sock').run()
配置 Apache
对于基本的 Apache 部署,您的 .fcgi 文件将出现在您的应用程序 URL 中,例如 example.com/yourapplication.fcgi/hello/。有几种方法可以配置您的应用程序,使 yourapplication.fcgi 不会出现在 URL 中。
<VirtualHost *> ServerName example.com ScriptAlias / /path/to/yourapplication.fcgi/ </VirtualHost>
配置 lighthttpd
lighttpd 的基本配置如下所示 −
fastcgi.server = ("/yourapplication.fcgi" => (( "socket" => "/tmp/yourapplication-fcgi.sock", "bin-path" => "/var/www/yourapplication/yourapplication.fcgi", "check-local" => "disable", "max-procs" => 1 ))) alias.url = ( "/static/" => "/path/to/your/static" ) url.rewrite-once = ( "^(/static($|/.*))$" => "$1", "^(/.*)$" => "/yourapplication.fcgi$1" )
请记住启用 FastCGI、别名和重写模块。 此配置将应用程序绑定到 /yourapplication。