Wie man Python-Skripte mit Apache und mod_wsgi auf Ubuntu 18.04 ausführt

mod_wsgi ist ein Apache-Modul, das für die Bereitstellung von Python-Skripten über HTTP über den Apache-Webserver verwendet werden kann. Mit mod_wsgi können Sie Anwendungen, die mit Frameworks und Tools wie Django, Web.py, Werkzug, Chery.py, TurboGears und Flask geschrieben wurden, problemlos einsetzen.

In diesem Tutorial erfahren wir, wie man mod_wsgi mit dem Apache-Server auf dem Ubuntu 18.04 LTS (Bionic Beaver) Server installiert und einrichtet.

Anforderungen

  • Ein Server mit Ubuntu 18.04 Server.
  • Ein Nicht-Root-Benutzer mit sudo-Rechten.
  • Eine statische IP-Adresse 192.168.43.229 wird auf Ihrem Server konfiguriert.

Apache und mod_wsgi installieren

Vor dem Start müssen Sie einige erforderliche Pakete auf Ihrem System installieren.

Du kannst sie alle installieren, indem du den folgenden Befehl ausführst:

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 innerhalb des Apache-Web-Root-Verzeichnisses erstellen, um über das mod_wsgi-Apache-Modul zu dienen.

Dies kannst du mit dem folgenden Befehl tun:

sudo nano /var/www/html/wsgy.py

Füge 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 entsprechenden 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 den Apache konfigurieren, um diese Datei über das HTTP-Protokoll zu bedienen. Sie können dies tun, indem Sie die Datei wsgi.conf erstellen:

sudo nano /etc/apache2/conf-available/wsgi.conf

Füge 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 entsprechenden 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

Python-Skripte im Apache mit mod-wsgi testen

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://example.com/wsgi. ein. Sie werden auf die folgende Seite weitergeleitet:

Python-Testseite

Links

Das könnte dich auch interessieren …