English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
FastCGI est une autre option de déploiement des applications Flask sur les serveurs Web (comme nginix, lighttpd et Cherokee).
Tout d'abord, il faut créer un fichier serveur FastCGI, par exemple, il peut s'appeler : yourapplication.fcgiC .
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 from flup.server.fcgi import WSGIServer from yourapplication import app if __name__ == '__main__': WSGIServer(app).run()
nginx et les versions plus anciennes de lighttpd nécessitent de transmettre explicitement un socket pour communiquer avec le serveur FastCGI. Il faut transmettre le chemin au socket du WSGIServer.
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 WSGIServer(application, bindAddress = '/path/to/fcgi.sock').run()
Pour une déploiement de base d'Apache, .fcgi Le fichier apparaîtra dans l'URL de votre application, par exemple http://example.com/yourapplication.fcgi/hello/Il existe plusieurs méthodes pour configurer l'application afin que yourapplication.fcgi ne soit pas visible dans l'URL.
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 <VirtualHost> *> ServerName example.com ScriptAlias / /path/to/yourapplication.fcgi/ </VirtualHost>
La configuration de base de lighttpd ressemble à ceci -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 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" )
N'oubliez pas d'activer FastCGI, alias et module de réécriture. La configuration lie l'application à/yourapplication。