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.
- On-Demand skalierbar, Load Balancer und Traffic inklusive
- Hochverfügbare Server-Plattform
- ISO-zertifizierte Rechenzentren am Standort Deutschland
- Inkl. 100,- € Startguthaben im 1. Monat
<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
Directory /var/www/python
Order allow,deny
Allow from all
Directory
Speichern und beenden Sie die Datei. Starten Sie dann den Apache neu:
sudo systemctl restart httpd
- Automatisch: Backups und Recovery
- Intuitiv: Planung und Management
- Intelligent: KI-basierter Bedrohungsschutz
- Inkl. 300,- € Startguthaben im 1. Monat
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.