English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Flask FastCGI

FastCGI ist eine weitere Deployment-Option für Flask-Anwendungen auf Webservern (wie nginx, lighttpd und Cherokee).

Konfigurieren Sie FastCGI

Zunächst muss eine FastCGI-Serverdatei erstellt werden, z.B. mit dem Namen: yourapplication.fcgiC .

# Dateiname: example.py
# Copyright: 2020 Durch w3codebox
# Autor durch: de.oldtoolbag.com
# Datum: 2020-08-08
from flup.server.fcgi import WSGIServer
 from yourapplication import app
 if __name__ == '__main__':
     WSGIServer(app).run()

nginx und frühere Versionen von lighttpd benötigen eine explizite Übermittlung eines Sockets, um mit dem FastCGI-Server zu kommunizieren. Der Pfad muss an das Socket des WSGIServer übergeben werden.

# Dateiname: example.py
# Copyright: 2020 Durch w3codebox
# Autor durch: de.oldtoolbag.com
# Datum: 2020-08-08
WSGIServer(application, bindAddress = '/path/to/fcgi.sock').run()

Konfigurieren Sie Apache

Für eine grundlegende Apache-Installation: .fcgi Die Datei wird in der URL Ihrer Anwendung erscheinen, z.B. http://example.com/yourapplication.fcgi/hello/Es gibt mehrere Methoden, um die Anwendung zu konfigurieren, damit yourapplication.fcgi nicht in der URL erscheint.

# Dateiname: example.py
# Copyright: 2020 Durch w3codebox
# Autor durch: de.oldtoolbag.com
# Datum: 2020-08-08
<VirtualHost> *>
    ServerName example.com
    ScriptAlias / /path/to/yourapplication.fcgi/
 </VirtualHost>

Konfigurieren Sie lighttpd

Die grundlegende Konfiguration von lighttpd sieht so aus -

# Dateiname: example.py
# Copyright: 2020 Durch w3codebox
# Autor durch: de.oldtoolbag.com
# Datum: 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"
 )

Denken Sie daran, FastCGI, Aliase und die Modulumleitung zu aktivieren. Diese Konfiguration bindet die Anwendung an/yourapplication。