Flask - FastCGI

FastCGI è un'altra opzione di distribuzione per l'applicazione Flask su server Web come nginix, lighttpd e Cherokee.

Configurazione di FastCGI

Innanzitutto, devi creare il file FastCGIfile del server. Chiamiamoloyourapplication.fcgi.

from flup.server.fcgi import WSGIServer
from yourapplication import app

if __name__ == '__main__':
   WSGIServer(app).run()

nginx e versioni precedenti di lighttpd è necessario un socket da passare esplicitamente per comunicare con FastCGIserver. Affinché funzioni, è necessario passare il percorso del socket al fileWSGIServer.

WSGIServer(application, bindAddress = '/path/to/fcgi.sock').run()

Configurazione di Apache

Per una distribuzione di base di Apache, il tuo .fcgi il file apparirà nell'URL dell'applicazione, ad es example.com/yourapplication.fcgi/hello/. Ci sono pochi modi per configurare la tua applicazione in questo modoyourapplication.fcgi non appare nell'URL.

<VirtualHost *>
   ServerName example.com
   ScriptAlias / /path/to/yourapplication.fcgi/
</VirtualHost>

Configurazione di lighttpd

Configurazione di base di lighttpd assomiglia a questo -

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"
)

Ricordati di abilitare il FastCGI, alias e riscrivi i moduli. Questa configurazione associa l'applicazione a/yourapplication.