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 , alias и rewrite. Эта конфигурация привязывает приложение к / yourapplication .