Einrichten des Servers
Lassen Sie uns nun die Serverumgebung festlegen, mit der wir unseren Server hosten werden. Dieses Tutorial verwendet den Ubuntu -Server. Beginnen Sie mit der Aktualisierung der Repositorys und der Installation von Python3 und PIP.
sudo apt-Get-Update
sudo apt -Get Upgrade -y
sudo apt-get installieren python3 python3-pip -y
Als nächstes müssen wir ein Verzeichnis erstellen, um das Projekt zu speichern.
sudo mkdir/var/www/Anwendung
CD/var/www/Anwendung
Verzeichnis Eigentum und Berechtigungen ändern:
sudo chown -r www-data: www-data/var/www/application/
Installieren Sie die Pakete als Nächstes mit APT (Kolben und Gunicorn)
sudo apt-Get Installieren Sie Python3-Flask Python3-Gunicorn
Lassen Sie uns nun eine Flask -Anwendung initialisieren. Beginnen Sie mit der Erstellung des Haupts.py hält die Anwendung und WSGI.PY, mit dem die Anwendung ausgeführt wird.
Sudo Touch Main.PY WSGI.py
Bearbeiten Sie die Haupt.PY -Datei und richten Sie Ihre Flask -Anwendung und alle Routen ein. Da dieses Tutorial kein Flask -Leitfaden ist, werden wir eine grundlegende Route und eine Hello World -Nachricht einrichten.
aus Flask -Importkolben
app = Flask (__ Name__)
@app.Route("/")
Def Home ():
zurückkehren "Nginx & Gunicorn
"
Bearbeiten Sie die WSGI.PY -Datei und fügen Sie den Code hinzu, um App zu importieren, und führen Sie als:
aus der Hauptimport -App
Wenn __name__ == "__main__":
App.run (debug = true)
Testen Sie schließlich, ob es in Betrieb ist, indem Sie Flaschen als:
$ Flask Run
* Umgebung: Produktion
Warnung: Dies ist ein Entwicklungsserver. Verwenden Sie es nicht in einer Produktionsbereitstellung.
Verwenden Sie stattdessen einen Produktions -WSGI -Server.
* Debug -Modus: Aus
* Laufen auf http: // 127.0.0.1: 5000/ (drücken Sie Strg+C, um aufzuhören)
Versuchen Sie, auf die Anwendung auf http: // localhost: 5000 zugreifen zu können.
Gunicorn einrichten
Sobald unsere Anwendung erfolgreich ausgeführt wird, können wir mit Gunicorn die Anwendung mit den Befehlen testen:
$ sudo Gunicorn -Arbeiter 5 WSGI: App
[2021-03-19 09:19:34 +0000] [14047] [INFO] Gunicorn 20 Starten.0.4
[2021-03-19 09:19:34 +0000] [14047] [Info] Hören Sie: http: // 127.0.0.1: 8000 (14047)
[2021-03-19 09:19:34 +0000] [14047] [Info] Mit Worker: Sync
[2021-03-19 09:19:34 +0000] [14049] [Info] Booting Worker mit PID: 14049
[2021-03-19 09:19:34 +0000] [14050] [Info] Booting Worker mit PID: 14050
[2021-03-19 09:19:34 +0000] [14051] [Info] Booting Worker mit PID: 14051
[2021-03-19 09:19:34 +0000] [14052] [Info] Booting Worker mit PID: 14052
[2021-03-19 09:19:35 +0000] [14053] [Info] Booting Worker mit PID: 14053
In den obigen Befehlen wird die Flask -Anwendung mit Gunicorn mit der angegebenen Anzahl von Arbeitern ausgeführt. Wir rufen dann die Datei WSGI: App auf, die die Datei und Instanz der zu ausgeführten Anwendung ist.
Sobald Sie die Anwendung mit Gunicorn ausgeführt haben, drücken Sie Strg + C, um den Server zu stoppen und Nginx einzustellen.
Verwenden Sie die folgenden Befehle, um Nginx zu installieren und auszuführen.
sudo apt -get install nginx -y
sudo systemctl starten nginx
sudo systemctl aktivieren nginx
Der nächste Schritt besteht darin, die Nginx-Konfiguration im verzeichneten Standorten zu bearbeiten und den Serverblock hinzuzufügen. Betrachten Sie die folgende Konfiguration. Ändern Sie die Anwendung in den Namen Ihres Projekts.
sudo nano/etc/nginx/sites-verfügbare/Anwendung.Conf
Server
Hören Sie 80;
Server_Name -Anwendung;
access_log/var/log/nginx/Anwendung.Zugang.Protokoll;
Fehler_log/var/log/nginx/Appliation.Fehler.Protokoll;
Standort /
proxy_params einschließen;
proxy_pass http: // unix:/var/www/application/application.Socke;
Erstellen Sie einen Link zum Site-fähigen Verzeichnis, um die Website zu aktivieren.
sudo ln -s/etc/nginx/seites -verfügbare/Anwendung.conf/etc/nginx/sites-fähig/
Starten Sie nun den Nginx -Dienst als:
sudo systemctl starten nginx neu
Als nächstes müssen wir eine Systemd -Einheitsdatei erstellen, um die Anwendung zu bedienen.
sudo nano/etc/systemd/System/Anwendung.Service
[Einheit]
Beschreibung = Anwendung.Service - Eine Flask -Anwendung mit Gunicorn.
Nach = Netzwerk.Ziel
[Service]
User = www-data
Gruppe = www-data
WorkingDirectory =/var/www/application/
Execstart =/usr/bin/gunicorn -Workers 3 -Bind Unix:/var/www/application.Socken WSGI: App
[Installieren]
Wantby by = multi-user.Ziel
Speichern Sie schließlich die Einheitsdatei, dann aktivieren und laden Sie den Daemon neu und laden Sie sie neu laden.
sudo systemctl neu starten.Service
sudo systemctl dämon-reload
Jetzt können Sie über die IP -Adresse oder die in der Nginx -Konfigurationsdatei angegebene Adresse auf die Anwendung zugreifen. Möglicherweise müssen Sie es zur Datei des Hosts hinzufügen.
curl http: // Anwendung
Http/1.1 200 ok
Server: Werkzug/0.16.1 Python/3.8.5)
Datum: Fr, 19. März 2021 10:00:39 GMT
Inhaltstyp: Text/HTML
Inhaltslänge: 25
Last-Modified: Fr, 19. März 2021 09:22:47 GMT
Abschluss
In diesem Tutorial wurde die Einrichtung einer Python -Flask -Anwendung über Nginx mit Gunicorn eingerichtet. Betrachten Sie die individuelle Dokumentation, um mehr über die in diesem Tutorial erörterten Dienste zu erfahren.