Einführung
- Dieser Artikel führt dich durch den Prozess der Verwendung von Gunicorn, einem Python-WSGI-HTTP-Server, um Flask, Django und andere WSGI-Anwendungen in Produktion auszuführen.
- Bevor wir beginnen, stelle sicher, dass Python und Gunicorn in deiner Umgebung installiert sind. Du kannst Gunicorn mit dem folgenden Befehl installieren:
- Füge
gunicornauch zu deinerrequirements.txthinzu, damit Square Cloud es zusammen mit deinen anderen Abhängigkeiten installiert:
requirements.txt
Grundlegende Verwendung
Um eine Python-Webanwendung mit Gunicorn auszuführen, benötigst du eine WSGI-Anwendung wie Flask, Django oder ein anderes Framework.Sobald deine Anwendung bereit ist, musst du den Modulnamen und den Variablennamen kennen, der das WSGI-Anwendungsobjekt enthält.
Wenn du zum Beispiel eine Flask-Anwendung in einer Datei namens
app.py hast und die Flask-Instanz app heißt, kannst du sie mit Gunicorn über den folgenden Befehl ausführen:
python -m gunicornführt Gunicorn als Python-Modul aus.--bind 0.0.0.0:80weist Gunicorn an, auf allen Netzwerkschnittstellen auf Port 80 zu lauschen.app:appgibt den Modulnamen (app) und den Variablennamen (app) an, der das WSGI-Anwendungsobjekt enthält.
wsgi.py, das Django in deinem Projektpaket anlegt (ersetze myproject durch den Namen deines Projekts):
Auf Square Cloud ausführen
Trage den Befehl in das FeldSTART deiner Konfigurationsdatei ein, damit Square Cloud deine Anwendung mit Gunicorn startet:
squarecloud.app
Gunicorn muss an
0.0.0.0:80 binden: Square Cloud leitet den Traffic deiner Subdomain an Port 80 deiner Anwendung weiter. Square Cloud setzt außerdem die Umgebungsvariable PORT auf 80, und Gunicorn liest sie: Ohne die Option --bind lauscht es auf 0.0.0.0:$PORT, sobald PORT gesetzt ist.Zusätzliche Optionen
Gunicorn bietet mehrere Optionen, um sein Verhalten anzupassen. Hier zeigen wir einige Optionen.Workers
--workers <number>
MEMORY erhöht hast. Wenn deine Anwendung mit LACK_OF_RAM stoppt, verringere die Anzahl der Worker.
Name
--name <name>-n <name>
Worker-class
--worker-class <class>-k <class>
sync, aber du kannst auch gevent, eventlet, tornado oder einen anderen Worker-Typ verwenden.
Extras
Gunicorn verfügt über viele weitere Optionen und Funktionen, die du in der offiziellen Dokumentation erkunden kannst.Konfigurationsdatei
- Du kannst Gunicorn-Optionen auch in einer Python-Konfigurationsdatei festlegen. Gunicorn lädt automatisch eine Datei namens
gunicorn.conf.pyaus dem Verzeichnis, in dem es läuft, auf Square Cloud also aus dem Stammverzeichnis deines Projekts. Jeden anderen Dateinamen übergibst du mit-c <file>.
gunicorn.conf.py
- Mit dieser Datei in deinem Projekt kann das Feld
STARTeinfach so lauten:
squarecloud.app
Nächste Schritte
Flask
Deploye eine Flask-Anwendung hinter Gunicorn.
Django
Deploye ein Django-Projekt hinter Gunicorn.
App startet nicht
Behebe EADDRINUSE, LACK_OF_RAM und andere Fehler beim Start.
Hat dir dieser Artikel gefallen?
- Wir haben diesen Inhalt mit großer Sorgfalt erstellt, um dir die bestmögliche Hilfe zu bieten. Wenn dir dieser Artikel in irgendeiner Weise geholfen hat, unterstütze unsere Arbeit! Entwickler haben Square Cloud bereits mit 4,9/5 bei 402 Bewertungen auf Google und Trustpilot bewertet: hinterlasse auch deine! Sie hilft uns zu verstehen, was dir am wichtigsten ist.
Google Reviews
Hinterlasse deine Bewertung bei Google Reviews.
Trustpilot
Hinterlasse deine Bewertung bei Trustpilot.

