[PYTHON] Zeichne Hallo Welt mit mod_wsgi

Einführung

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

installiere apache2

Installieren Sie apache2

sudo apt install -y apache2 apache2-dev

mod-wsgi installieren

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.

apache2 Einstellungen

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

Apache2-Einstellungen

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 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]

starte apache2 neu

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

Zeichne Hallo Welt mit mod_wsgi
Hallo Welt mit ctypes
Hallo, Welt mit Docker
Hallo Welt auf Flasche
Hallo Welt mit Flask + Hamlish
Bis hallo Welt mit Zappa
Python beginnend mit Hallo Welt!
Hallo Welt
Hallo Welt! Mit virtueller CAN-Kommunikation
[Hinweis] Hallo Weltausgabe mit Python
Hallo Welt! Von QPython mit Braincrash
Hallo Welt mit Raspberry Pi + Minecraft Pi Edition
Pymacs helloworld
Cython Helloworld
Hallo Welt! Von QPython mit Brainfu * k
Hallo Welt- und Gesichtserkennung mit OpenCV 4.3 + Python
Hallo Welt mit gRPC / go in Docker-Umgebung
Hallo Welt mit allen Funktionen der Go-Sprache
Begrüßen Sie die Welt mit Python mit IntelliJ
Hallo Welt mit Nginx + Uwsgi + Python auf EC2
Erstellen Sie mit Django eine Hallo-Welt-Anwendung mit nur einer Datei
Erste Python ① Umgebungskonstruktion mit Pythonbrew & Hello World !!
Erstellen Sie in Tornado einen HTTP-Server (Hello World)
web2py Hinweis: Hallo Welt
RabbitMQ Tutorial 1 ("Hallo Welt!")
Hallo Welt mit Django
Djangos erste Hallo Welt
Lassen Sie uns die Überlebenden von Kaggles Hello World, Titanic, durch logistische Regression vorhersagen.
Hallo Welt mit Google App Engine (Java 8) + Spring Boot + Gradle
Zeichnen Sie die Bezier-Kurve mit Go
Hallo Welt mit Google App Engine (Java 8) + Servlet API 3.1 + Gradle
Zeichnen Sie mit NetworkX ein Diagramm
Zeichnen Sie eine netCDF-Datei mit Python
Hallo Welt in GO-Sprache
Lassen Sie uns die Überlebenden von Kaggles Hello World, Titanic durch logistische Regression vorhersagen - Vorhersage / Bewertung
Hallo Welt (Anfänger) mit Django
Zeichnen Sie mit networkx ein Diagramm
Hallo Welt mit Google App Engine (Java 11) + Spring Boot + Gradle
Bis Hello World mit Flask + uWSGI + Nginx @ Sakuras VPS (CentOS 6.6)
Erste Schritte mit Heroku-Viewing Hello World in Python Django mit Raspberry PI 3
Beginnen Sie mit Windows, nicht so beängstigend Nim ① Es ist wie Hallo Welt.
Zeichne unscharfe Sprites mit cocos2d / pyglet
Zeichne ein Diagramm mit Julia + PyQtGraph (2)
Einführung in TensorFlow - Hallo World Edition
Hallo Welt! (Minimum Viable Block Chain)
Zeichne Japanisch mit matplotlib auf Ubuntu
Zeichnen Sie mit matplotlib ein loses Diagramm
Zeichne einen schönen Kreis mit Numpy
Zeichne ein Diagramm mit Julia + PyQtGraph (1)
Legen Sie mit Apache + mod_wsgi mehrere WSGIPythonPath fest
Zeichne ein Diagramm mit Julia + PyQtGraph (3)
Führen Sie python3 Django1.9 mit mod_wsgi aus (deploy)
Zeichnen Sie mit Python Turtle eine Koch-Kurve
cout << "Hallo Welt! \ N" in Python
Hallo Welt mit Flasche [Passendes Memo]
Code: 2 "Hello World" im "Choregraphe-Python-Skript"
Zeichnen Sie ein Diagramm mit Pandas + XlsxWriter
Erstellen Sie eine API mit hug mit mod_wsgi
Zeichnen Sie eine Illustration mit Python + OpenCV
Zeichnen Sie einfach Diagramme mit matplotlib