Bereitstellung der Flask -Anwendung auf Ubuntu (Apache+WSGI)

Bereitstellung der Flask -Anwendung auf Ubuntu (Apache+WSGI)

Flask ist ein beliebtes und leichtes Python -Web -Framework, mit dem Entwickler Webanwendungen mühelos erstellen können. Einer der wichtigsten Aspekte der Bereitstellung einer Flask -Anwendung ist die Auswahl der richtigen Webserver- und Gateway -Schnittstelle. In diesem Artikel werden wir mithilfe von Apache und WSGI (Web Server Gateway Interface) auf einem linux-basierten System eine Flask-App bereitstellen. Apache ist ein leistungsstarker und weit verbreiteter Webserver, während WSGI eine Standardschnittstelle zwischen Webservern und Python-Anwendungen ist.

Diese umfassende Anleitung führt Sie durch den gesamten Prozess der Bereitstellung einer Flask -App mit Apache und WSGI auf einem Linux -Computer. Am Ende dieses Tutorials werden auf einem Apache -Webserver mit WSGI als Schnittstelle eine Funktion für Funktionsflaschen ausgeführt.

Voraussetzungen

Um eine Flask -Anwendung auf Ubuntu bereitzustellen, müssen die folgenden Voraussetzungen installiert werden:

  • Python 3: Flask ist ein Python -Web -Framework, sodass Sie Python auf Ihrem Server installieren müssen.
  • Flasche: Sie müssen den Kolben mit PIP, dem Python -Paket -Manager, installieren.
  • Apache2: Apache ist ein beliebter Webserver, mit dem Flask -Anwendungen gehostet werden können.
  • mod_wsgi: Dieses Apache-Modul wird verwendet, um mit mit WSGI-kompatiblen Webanwendungen wie Flask eine Schnittstelle zu erhalten.

Schritt 1: Paket Installation beginnen

Beginnen wir mit den erforderlichen Paketeninstallationen in Ihrem System mit den folgenden Schritten:

  1. Aktualisieren Sie die Paketliste und aktualisieren Sie alle veralteten Pakete:
    sudo apt-Get-Update  sudo apt-get upgrade  
  2. Installieren Sie Python 3 und PIP:
    sudo apt-get installieren python3 python3-pip python3-venv  
  3. Installieren Sie Apache2 und mod_wsgi:
    sudo apt-get install apache2 libapache2-mod-wsgi-py3 

Schritt 2: Richten Sie Ihre Flask -Anwendung ein

Erstellen Sie ein Verzeichnis für Ihre Anwendung und kopieren Sie alle Dateien darauf. Erstellen Sie dann eine virtuelle Umgebung, um Ihre Kolbenanwendung zu isolieren und die erforderlichen Pakete zu installieren.

  1. Erstellen Sie ein Verzeichnis für Ihre Flask -Anwendung:
    mkdir/var/www/Flask-App  CD/var/www/Flask-App  
  2. Kopieren Sie alle Dateien der Flask -Anwendung in das gerade erstellte Verzeichnis, das Sie gerade erstellt haben
  3. Erstellen Sie die virtuelle Umgebung für Ihre Anwendung und aktiv: IT:
    Python3 -m Venven Venv  Quelle Venv/bin/aktivieren  
  4. Installieren Sie die erforderlichen Bibliotheken in der virtuellen Umgebung:
    PIP -Kolben installieren  
  5. Erstellen Sie eine neue Python -Datei mit dem Namen App.py im Flaskapp Verzeichnis und fügen Sie den folgenden Code hinzu: Aus Flask -Import Flask App = Flask (__ Name__) @App.Route ('/') def hello (): return 'Hallo, Welt!''
    123456Aus Flask Import Flaskapp = Flask (__ Name__) @App.Route ('/') def hello (): return 'Hallo, Welt!''

    Dies erstellt eine einfache Flask -App, die zurückgibt "Hallo Welt!” Wenn Sie auf die Root -URL zugreifen.

Schritt 3: Testen Sie die Flask -App

Führen Sie den folgenden Befehl im Terminal aus, um die Flask -App zu testen:

 Export Flask_App = App.py   Flasklauf  

Dies sollte den Flask Development Server starten. Öffnen Sie Ihren Webbrowser und gehen Sie zu http: // localhost: 5000. Das solltest du sehen "Hallo Welt!” in Ihrem Browser angezeigt.

Schritt 4: Erstellen Sie die WSGI -Konfigurationsdatei

  1. Erstellen Sie einen WSGI -Einstiegspunkt für Ihre Flask -Anwendung:
    Nano/var/www/flaskapp/flaskapp.WSGI  
  2. Fügen Sie den folgenden Code in die Datei ein und ersetzen Sie "Flaskapp" durch den Namen Ihrer Anwendung: Importieren von SYS -Protokollierungssystemen importieren.Weg.einfügen (0, '/var/www/flaskapp') sys.Weg.Einfügen (0, '/var/www/flaskapp/venv/lib/python3.10/Site-Packages/') # Die Protokollierungsprotokollierung einrichten.BasicConfig (Stream = sys.Stderr, Level = Protokollierung.Debuggen) # Importieren und führen Sie die Flask -App aus der App -Import -App als Anwendung importieren und führen Sie aus
    1234567891011Sysimport -Protokollierungssysteme importieren.Weg.einfügen (0, '/var/www/flaskapp') sys.Weg.Einfügen (0, '/var/www/flaskapp/venv/lib/python3.10/Site-Packages/') # LoggingLogging einrichten.BasicConfig (Stream = sys.Stderr, Level = Protokollierung.Debugug) # Importieren und führen Sie die Flask Appfrom App -App als Anwendung importieren und führen Sie aus

  3. Speichern Sie die Datei und schließen Sie sie.

Schritt 5: Apache konfigurieren

  1. Erstellen Sie eine Apache -Konfigurationsdatei für Ihre Anwendung:
    sudo nano/etc/apache2/sites-verfügbare/flaskapp.Beispiel.com.Conf  
  2. Fügen Sie den folgenden Code in die Datei ein und ersetzen Sie "Flaskapp" mit dem Namen Ihrer Anwendung und den Pfaden mit den richtigen Pfaden für Ihr Setup: Servername Flaskapp.Beispiel.com serveradmin webmaster@localhost documentroot/var/www/flaskapp wsgidaemonprocess flaskapp threads = 5 wsgiscriptalias//var/www/flaskapp/flaskapp/flaskapp.WSGI WSGIAPPLICATIONGROUP %Global WsgiprocessGroup Flaskapp WSGIApplicationGroup %Global Bestellung verweigern, erlauben Sie von allen ERRAGENLOG $ apache_log_dir/Flaskapp-Error zuzulassen.Log CustomLog $ apache_log_dir/flaskapp-access.log kombiniert
    123456789101112131415161718 Servername Flaskapp.Beispiel.com serveradmin webmaster@localhost documentroot/var/www/flaskapp wsgidaemonprocess flaskapp threads = 5 wsgiscriptalias//var/www/flaskapp/flaskapp/flaskapp.WSGI WSGIApplicationGroup %global Wsgiprocessgroup Flaskapp WsgiapplicationGroup %Global Bestellleugnung, zulassen von allen zulassen ERROLLOG $ apache_log_dir/flaskapp-eRror.Log CustomLog $ apache_log_dir/flaskapp-access.log kombiniert

  3. Aktivieren Sie die neue Apache -Konfiguration:
    Sudo A2ensit Flaskapp.Beispiel.com  
  4. Starten Sie Apache neu, um die Änderungen anzuwenden:
    sudo service apache2 neu starten  

Ihre Flask -Anwendung sollte jetzt auf Ihrem Ubuntu -Server in Betrieb sein. Sie können darauf zugreifen, indem Sie die URL Ihres Servers in einem Webbrowser besuchen.

Schritt 6: Testen Sie die Flask -App mit Apache

Um die Flask -App mit Apache zu testen, öffnen Sie Ihren Webbrowser und gehen Sie zu http: // flaskapp.Beispiel.com (Ersetzen Sie Flaskapp.Beispiel.com mit Ihrem Domain -Namen). Sie sollten sehen „Hallo, Welt!”In Ihrem Browser angezeigt.

Glückwunsch! Sie haben erfolgreich eine Flask -App mit Apache und WSGI unter Linux bereitgestellt.

Abschluss

Die Bereitstellung von Apps mit Apache und WSGI unter Linux kann eine Herausforderung sein, ist jedoch ein entscheidender Schritt, um Ihre App im Internet verfügbar zu machen. Diese umfassende Anleitung hat Ihnen gezeigt, wie Sie eine Flask -App mit Apache und WSGI unter Linux bereitstellen, vom Erstellen einer Flask -App zum Konfigurieren von Apache und dem Erstellen eines WSGI -Skripts.

Denken Sie daran, Ihre App nach der Bereitstellung immer zu testen und sicherzustellen, dass sie reibungslos ausgeführt wird. Mit diesem Kenntnis.