Python als Webanwendung auf CentOS 7 auszuführen mit mod_wsgi

Erfahren Sie, wie Sie das mod_wsgi-Modul des Apache installieren und verwenden, um Python-Skripte auf einer Webseite auszuführen. Dieses Apache-Modul kann verwendet werden, um in Python geschriebene Webseiten zu bedienen oder Webseiten mit eingebetteten Python-Skripten darzustellen.

mod_wsgi ist eine besonders gute Wahl für Webentwickler, die an den Umgang des Apache mit PHP gewöhnt sind. Wenn Sie die Leistungsfähigkeit und Flexibilität von Python wollen, aber wollen, dass es wie PHP im Web funktioniert, ist mod_wsgi eine einfache Antwort.

    Anforderungen

    • Ein Cloud Server unter Linux (CentOS 7).
    • Der Apache wurde installiert und läuft.
    • Grundlegende Kenntnisse in Python.

    Cloud Server von IONOS

    Vertrauen Sie auf flexibel skalierbare und zuverlässige Cloud Server auf hochverfügbarer Infrastruktur mit Standort Deutschland inklusive persönlichem Berater und minutengenauer Abrechnung - Sie zahlen also wirklich nur Ihre benötigten Ressourcen!

    VMware Virtualisierung
    Rest API
    Unlimited Traffic

    <code>mod_wsgi</code> vs <code>mod_python</code>

    Viele Benutzer sind verwirrt über den Unterschied zwischen mod_wsgi und mod_python. Beide Apache-Module haben ungefähr den gleichen Effekt: Mit ihnen können Sie Python-Module auf einer Webseite ausführen.

    Obwohl mod_python über einen robusteren Funktionsumfang verfügt, wird mod_wsgi viel aktiver unterstützt und entwickelt. Daher empfehlen wir mod_wsgi für die meisten Benutzer.

    Installation von mod_wsgi

    Aktuallisieren Sie Ihr System:

    sudo yum update

    Installiere mod_wsgi mit dem Befehl:

    sudo yum install mod_wsgi

    Starten Sie den Apache neu:

    sudo systemctl restart httpd

    Vergewissern Sie sich, dass das Modul geladen ist:

    sudo httpd -M | grep wsgi

    Der Server wird antworten:

    [user@localhost ~]# sudo httpd -M | grep wsgi
    wsgi_module (shared)

    Apache konfigurieren

    Aus Sicherheitsgründen sollten die Python-Skripte in einem Verzeichnis abgelegt werden, das nicht im Web verfügbar ist. Erstellen Sie dieses Verzeichnis:

    sudo mkdir /var/www/python

    Setzen Sie den Apache als Eigentümer dieses Verzeichnisses, damit er auf die Dateien zugreifen kann:

    sudo chown apache:apache /var/www/python

    Wir werden WSGIScriptAlias verwenden, um einen Alias für das Skript zu konfigurieren. Zugriffsrechte müssen auch für das Verzeichnis vergeben werden, in dem sich das Skript befindet.

    Erstellen Sie eine Apache-Konfigurationsdatei für ein Beispiel-Skript "Hello World" und öffnen Sie sie zur Bearbeitung:

    sudo nano /etc/httpd/conf.d/helloworld.conf

    Den folgenden Inhalt in diese Datei einfügen:

    WSGIScriptAlias /helloworld /var/www/python/helloworld.py
    
    &lt;Directory /var/www/python/&gt;
    Order allow,deny
    Allow from all
    &lt;/Directory&gt;

    Speichern und beenden Sie die Datei. Starten Sie dann den Apache neu:

    sudo systemctl restart httpd

    Cloud Backup von IONOS

    Maximaler Schutz für Ihre Unternehmensdaten: Einfache Backups für Cloud-Infrastruktur, PCs und Smartphones, inklusive persönlichem Berater!

    Umfassender Schutz
    Einfache Wiederherstellung
    Schnelle Datenspeicherung

    Erstellen eines Testskripts

    Wir werden für dieses Beispiel das offiziell empfohlene mod_wsgi Hello World Testskript verwenden.

    Erstellen Sie die Datei und öffnen Sie sie zur Bearbeitung:

    sudo nano /var/www/python/helloworld.py

    Den folgenden Inhalt in diese Datei einfügen:

    def application(environ, start_response):
        status = '200 OK'
        output = b'Hello World!'
    
        response_headers = [('Content-type', 'text/plain'),
                            ('Content-Length', str(len(output)))]
        start_response(status, response_headers)
    
        return [output]

    Speichern und beenden Sie die Datei. Setzen Sie dann Apache als Eigentümer dieser Datei, damit auf sie zugegriffen werden kann:

    sudo chown apache:apache /var/www/python/helloworld.py

    Betrachten Sie diese Datei in einem Browser unter der URL http://example.com/helloworld. Sie werden die Meldung "Hello World!" sehen.


    Auf dem Laufenden bleiben?

    Jetzt für unseren Newsletter anmelden und gratis Online-Marketing Whitepaper für lokale Anbieter sichern!