mod_wsgi ist ein Apache-Modul, das zum Bereitstellen von Python-Skripten über HTTP über den Apache-Webserver verwendet werden kann. 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 18.04 LTS (Bionic Beaver)-Server installiert und einrichtet.
Anforderungen
- Ein Server, auf dem Ubuntu 18.04-Server ausgeführt wird.
- Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.
- Eine statische IP-Adresse 192.168.43.229 konfigurieren Sie auf Ihrem Server.
Installieren Sie Apache und mod_wsgi
Bevor Sie beginnen, müssen Sie einige erforderliche Pakete auf Ihrem System installieren.
Sie können alle installieren, indem Sie den folgenden Befehl ausführen:
sudo apt-get install python libexpat1 apache2 apache2-utils ssl-cert -y
Sobald alle erforderlichen Pakete installiert sind, können Sie mit der Installation von mod_wsgi mit dem folgenden Befehl fortfahren:
sudo apt-get install libapache2-mod-wsgi -y
Apache für mod_wsgi konfigurieren
Als Nächstes müssen Sie ein Python-Skript im Apache-Web-Root-Verzeichnis erstellen, das über das Apache-Modul mod_wsgi bereitgestellt wird.
Sie können dies mit dem folgenden Befehl tun:
sudo 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. Geben Sie dann der Datei wsgi.py die richtigen Berechtigungen:
sudo chown www-data:www-data /var/www/html/wsgy.py
sudo chmod 755 /var/www/html/wsgy.py
Als Nächstes müssen Sie Apache so konfigurieren, dass diese Datei über das HTTP-Protokoll bereitgestellt wird. Sie können dies tun, indem Sie die Datei wsgi.conf erstellen:
sudo nano /etc/apache2/conf-available/wsgi.conf
Fügen Sie die folgenden Zeilen hinzu:
WSGIScriptAlias /wsgi /var/www/html/wsgy.py
Speichern und schließen Sie die Datei. Geben Sie dann der Datei wsgi.py die richtigen Berechtigungen:
Aktivieren Sie dann die mod-wsgi-Konfiguration und starten Sie den Apache-Dienst mit dem folgenden Befehl neu:
sudo a2enconf wsgi
sudo systemctl restart apache2
Testen Sie Python-Skripte in Apache mit mod-wsgi
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://example.com/wsgi ein. Sie werden auf die folgende Seite weitergeleitet:
Links
- Apache-Webserver
- mod_wsgi
- Ubuntu