Das Ziel ist es, "Hello World" mit mod-wsgi "zu" zeichnen ". Was ist mod-wsgi? Es wird auch verwendet, um das Python Web Framework Django zu verwenden.
Als Voraussetzung wird angenommen, dass Folgendes getan wird.
Umgebung OS: Debian 9.0 stretch Python: 3.6.3
Installieren Sie apache2
sudo apt install -y apache2 apache2-dev
Sie müssen ein wenig vorsichtig sein. Dies liegt daran, dass es zwei Möglichkeiten gibt, es zu installieren: apt-get und pip. Im Fall von apt-get wird libapache2-mod-wsgi von apache2 installiert, aber dies gibt Warnungen aus, da Python später kompiliert wurde und Python ausgeführt wird. Daher empfehlen wir die Verwendung von pip, um es zu installieren.
Stellen Sie zunächst sicher, dass Sie die Version von Python ausgewählt haben, die Sie verwenden möchten
pyenv versions
Wenn Sie bestätigen können, installieren Sie mod-wsgi
pip install mod-wsgi
Überprüfen Sie nur für den Fall
pip freeze | grep wsgi
mod-wsgi==4.6.5
Es ist in Ordnung.
Im Gegensatz zu libapache2-mod-wsgi ist eine kleine Einstellung erforderlich. Die folgenden Dateien werden erstellt, wenn mod-wsgi mit pip installiert wird.
/home/USERNAME/.pyenv/versions/3.6.3/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
Lassen Sie apache2 diese Datei erkennen.
sudo vim /etc/apache2/mods-available/wsgi.load
Schreiben Sie die folgende Zeile. Vergessen Sie nicht, USERNAME zu ersetzen.
LoadModule wsgi_module /home/USERNAME/.pyenv/versions/3.6.3/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
Aktivieren Sie dann wsgi.
sudo a2enmod wsgi
Es ist in Ordnung, wenn die folgenden Kommentare angezeigt werden.
Enabling module wsgi.
To activate the new configuration, you need to run:
systemctl restart apache2
Bitte starten Sie apache2 neu.
sudo service apache2 restart
Ich werde mit den Apache2-Konfigurationsdateien (/ etc / apache2 /) spielen, aber für alle Fälle ein Backup erstellen.
cd /etc/apache2/sites-available
sudo cp 000-default.conf 000-default.conf.bk
sudo vim 000-default.conf
Fügen Sie der letzten Zeile Folgendes hinzu:
Übrigens, in vim bewegt sich G (Shift + g)
zur letzten Zeile.
WSGIScriptAlias /test_wsgi /var/www/html/test_wsgi.py
Erstellen Sie die in WSGIScriptAlias oben angegebene Datei test_wsgi.py.
sudo vim /var/www/html/test_wsgi.py
Der Inhalt der Datei sollte wie folgt sein.
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]
Starten Sie apache2 neu, wenn die oben genannten Schritte abgeschlossen sind.
sudo service apache2 restart
Greifen Sie danach auf den Domainnamen (oder die IP) / test_wsgi zu (Http ← Seien Sie vorsichtig) und Sie sollten Hello World sehen.
Recommended Posts