Python 3.7 auf Arch Linux mit Apache oder Nginx installieren
Systemvoraussetzungen
- Ein Server mit aktueller Arch-Linux-Distribution (siehe offizielle Anleitung).
- Ein betriebsbereiter Webserver – entweder Apache oder Nginx ist installiert und eingerichtet.
- Root-Zugriff über sudo:
Befehle, die Administratorrechte benötigen, sind mit einem#
gekennzeichnet. Es wird empfohlen, diese Befehle als normaler Nutzer mitsudo
auszuführen. - Ein installierter Texteditor, mit dem du vertraut bist – zum Beispiel
vi
,vim
,nano
,emacs
oder ein ähnliches Tool.
Installation von Python 3.7 auf dem Webserver
Mit Apache
Es ist nicht möglich, gleichzeitig die Apache-Module für Python 2.x und 3.x unter Arch Linux zu betreiben. In der Praxis stellt das aber kaum ein Problem dar.
Um Python 3.x zu aktivieren, führe folgenden Befehl aus:
# pacman -S mod_wsgi
Anschließend bearbeitest du die Apache-Konfigurationsdatei unter /etc/httpd/conf/httpd.conf
. Gehe ans Ende der LoadModule
-Anweisungen und füge diese Zeile hinzu:
LoadModule wsgi_module modules/mod_wsgi.so
Mit Nginx
Um Python 3.x für Nginx zu aktivieren, führe folgenden Befehl aus:
# pacman -S uwsgi-plugin-python
Python-Installation testen
Wechsle in ein geeignetes Verzeichnis und erstelle eine Datei mit dem Namen test.py
. Der Inhalt sollte wie folgt aussehen:
#-*- coding: utf-8 -*-
def wsgi_app(environment, start_response):
import sys
output = sys.version.encode('utf8')
status = '200 OK'
headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, headers)
yield output
application = wsgi_app
Apache-Konfiguration
Um die Testanwendung mit Apache zu verbinden, füge die folgende Zeile entweder direkt am Ende der Datei /etc/httpd/conf/httpd.conf
hinzu oder innerhalb des entsprechenden <VirtualHost>
-Blocks, falls mehrere Hosts verwendet werden:
WSGIScriptAlias /wsgi_app /srv/http/test.py
Starte den Apache-Webserver neu, damit die Änderungen übernommen werden:
# systemctl restart httpd
Öffne nun einen Webbrowser und rufe die Adresse http://DEIN-SERVER-ADRESSE-ODER-IP/wsgi_app
auf. Du solltest eine Testseite sehen, die die Python- und GCC-Version anzeigt.
Entferne abschließend die Datei test.py
sowie den zuvor eingefügten WSGIScriptAlias
-Eintrag aus der Apache-Konfiguration.
Starte Apache erneut:
# systemctl restart httpd
Python 3.7 mit uWSGI und Nginx auf Arch Linux konfigurieren
uWSGI-Konfiguration erstellen
Erstelle zunächst die Datei /etc/uwsgi/wsgi_app.ini
und trage den folgenden Inhalt ein:
[uwsgi]
socket = /run/uwsgi/wsgi_app.sock
uid = http
gid = http
plugins = python
chdir = /usr/share/nginx/html/
wsgi-file=test.py
callable = application
Starte dann uWSGI mit folgendem Befehl, um wsgi_app
bereitzustellen:
# systemctl start uwsgi@wsgi_app
Nginx-Konfiguration anpassen
Bearbeite die Datei /etc/nginx/nginx.conf
. Füge innerhalb jedes gewünschten server
-Blocks den folgenden Abschnitt ein. Falls virtuelle Hosts verwendet werden, trage die Konfiguration in den jeweiligen Host-Dateien ein:
location ~ \wsgi_app {
root /usr/share/nginx/html/;
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/wsgi_app.sock;
}
Starte Nginx neu, um die Änderungen zu übernehmen:
# systemctl restart nginx
Rufe nun im Browser die Adresse http://DEIN-SERVER-ADRESSE-ODER-IP/wsgi_app
auf. Dort wird eine Testseite angezeigt, die die installierte Python- sowie GCC-Version zeigt.
Aufräumen
Wenn du bestätigt hast, dass alles funktioniert, lösche die Datei test.py
sowie den entsprechenden location
-Block für wsgi_app
in der Datei /etc/nginx/nginx.conf
.
Starte Nginx anschließend erneut:
# systemctl restart nginx
Beende danach den uWSGI-Dienst für wsgi_app
mit folgendem Befehl:
# systemctl stop uwsgi@wsgi_app
Zum Schluss entferne sowohl die Datei /etc/uwsgi/wsgi_app.ini
als auch die test.py
-Datei, um die Testumgebung vollständig zu bereinigen.
Fazit
Wenn du alle Schritte wie beschrieben ausgeführt hast, läuft Python 3.7 erfolgreich auf deinem Arch-Linux-Server – integriert mit uWSGI und Nginx. Diese Konfiguration bietet eine stabile Grundlage zur Ausführung von WSGI-basierten Anwendungen und bleibt dabei flexibel und leistungsfähig. Vergiss nicht, die Testdateien und Konfigurationen wieder zu entfernen, um dein System sauber und sicher zu halten.