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 .