Учебники

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