Wie man Python-Skripte mit Apache und mod_wsgi unter Ubuntu 20.04 ausführt
mod_wsgi ist ein Apache-Modul, das eine Schnittstelle für das Hosting von Python-basierten Webanwendungen unter Apache bietet. Es eignet sich sowohl für das Hosting von hochleistungsfähigen Produktionswebsites als auch für Ihre durchschnittlichen selbst verwalteten persönlichen Websites, die auf Web-Hosting-Diensten laufen. Mit mod_wsgi können Sie Anwendungen, die mit Frameworks und Tools wie Django, Web.py, Werkzug, Chery.py, TurboGears und Flask geschrieben wurden, einfach bereitstellen.
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, auf dem Ubuntu 20.04 läuft.
- Der Server ist mit einem Root-Passwort 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
Nachdem Sie das System aktualisiert haben, starten Sie es 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.
Apache und mod_wsgi installieren
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
Wenn alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Konfigurieren Sie Apache für mod_wsgi
Als nÃ?chstes mÃ?ssen Sie ein neues Python-Skript innerhalb des Standard-Web-Root-Verzeichnisses von Apache erstellen und es Ã?ber das Apache-Modul mod_wsgi bereitstellen.
Sie können sie 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 folgendem Befehl in www-data:
chown www-data:www-data /var/www/html/wsgy.py
Als Nächstes erstellen Sie eine Apache-Konfigurationsdatei für virtuelle Hosts, 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 bedient.
Um dies zu testen, öffnen Sie Ihren Webbrowser und geben Sie die URL http://your-server-ip/wsgi ein. Sie sollten die mod-wsgi-Testseite auf dem folgenden Bildschirm sehen:
Schlussfolgerung
Herzlichen Glückwunsch! Sie haben erfolgreich Python-Skript über Apache-Webserver unter Verwendung des mod_wsgi-Moduls auf dem Ubuntu 20.04-Server eingesetzt. Ich hoffe, Sie können nun problemlos jede Python-Anwendung mit Apache und mod_wsgi in der Produktionsumgebung einsetzen.