mod_wsgi ist ein Apache-Modul, das eine Schnittstelle zum Hosten von Python-basierten Webanwendungen unter Apache bereitstellt. Es eignet sich für das Hosten von leistungsstarken Produktions-Websites sowie für Ihre durchschnittlichen selbstverwalteten persönlichen Websites, die auf Webhosting-Diensten ausgeführt werden. Mit mod_wsgi können Sie ganz einfach Anwendungen bereitstellen, die mit Frameworks und Tools wie Django, Web.py, Werkzug, Chery.py, TurboGears und Flask geschrieben wurden.
In diesem Tutorial lernen wir, wie man mod_wsgi mit dem Apache-Server auf einem Ubuntu 20.04-Server installiert und einrichtet.
Voraussetzungen
- Ein Server mit Ubuntu 20.04.
- Ein Root-Passwort wird auf dem Server konfiguriert.
Erste Schritte
Bevor Sie beginnen, ist es eine gute Idee, Ihr System mit der neuesten Version zu aktualisieren. Sie können Ihr System mit dem folgenden Befehl aktualisieren:
apt-get update -y
apt-get upgrade -y
Starten Sie das System nach der Aktualisierung neu, um die Änderungen zu implementieren.
Python installieren
Standardmäßig ist Python auf dem Ubuntu 20.04-Server vorinstalliert. Wenn es nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:
apt-get install python3 libexpat1 -y
Sobald die Installation abgeschlossen ist, können Sie mit dem nächsten Schritt fortfahren.
Installieren Sie Apache und mod_wsgi
Als nächstes müssen Sie den Apache-Webserver und das Python-Modul mod_wsgi auf Ihrem System installieren. Sie können sie installieren, indem Sie den folgenden Befehl ausführen:
apt-get install apache2 apache2-utils ssl-cert libapache2-mod-wsgi -y
Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Apache für mod_wsgi konfigurieren
Als Nächstes müssen Sie ein neues Python-Skript im Apache-Standard-Web-Root-Verzeichnis erstellen und es über das Apache-Modul mod_wsgi bereitstellen.
Sie können es mit dem folgenden Befehl erstellen:
nano /var/www/html/wsgy.py
Fügen Sie die folgenden Zeilen hinzu:
def application(environ,start_response): status = '200 OK' html = 'html>\n' \ '<body>\n' \ '<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\n' \ 'Welcome to mod_wsgi Test Page\n' \ '</div>\n' \ '</body>\n' \ '</html>\n' response_header = [('Content-type','text/html')] start_response(status,response_header) return [html]
Speichern und schließen Sie die Datei. Ändern Sie dann den Eigentümer der Datei mit dem folgenden Befehl in www-data:
chown www-data:www-data /var/www/html/wsgy.py
Erstellen Sie als Nächstes eine Konfigurationsdatei für den virtuellen Apache-Host, um diese Datei über das HTTP-Protokoll bereitzustellen.
nano /etc/apache2/conf-available/wsgi.conf
Fügen Sie die folgende Zeile hinzu:
WSGIScriptAlias /wsgi /var/www/html/wsgy.py
Speichern und schließen Sie die Datei. Aktivieren Sie dann die mod-wsgi-Konfiguration und starten Sie den Apache-Dienst mit dem folgenden Befehl neu:
a2enconf wsgi
systemctl restart apache2
Mod-wsgi testen
Zu diesem Zeitpunkt ist der Apache-Webserver so konfiguriert, dass er Ihre Python-Datei über das HTTP-Protokoll bereitstellt.
Öffnen Sie zum Testen Ihren Webbrowser und geben Sie die URL http://your-server-ip/wsgi ein. Sie sollten die mod-wsgi-Testseite im folgenden Bildschirm sehen:
Schlussfolgerung
Herzlichen Glückwunsch! Sie haben das Python-Skript erfolgreich über den Apache-Webserver mithilfe des Moduls mod_wsgi auf dem Ubuntu 20.04-Server bereitgestellt. Ich hoffe, Sie können jetzt problemlos jede Python-Anwendung mit Apache und mod_wsgi in der Produktionsumgebung bereitstellen.