Flask – FastCGI
FastCGI是Flask应用程序在nginix、lighttpd和Cherokee等网络服务器上的另一种部署方式。
配置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>
配置lighttpd
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。