Tutorials  /  Python

Python 3.7 auf Arch Linux mit Apache oder Nginx einrichten

Ccentron Redaktion · Juni 2025 ·4 Min. Lesezeit ·Python, Tutorial

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 mit sudo auszuführen.

  • Ein installierter Texteditor, mit dem du vertraut bist – zum Beispiel vi, vim, nano, emacs oder ein ähnliches Tool.
VM

Passende Infrastruktur bei centron

Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →

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:

Konsole
# 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:

Code
LoadModule wsgi_module modules/mod_wsgi.so

Mit Nginx

Um Python 3.x für Nginx zu aktivieren, führe folgenden Befehl aus:

Konsole
# 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:

Python
#-*- 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:

Code
WSGIScriptAlias /wsgi_app /srv/http/test.py

Starte den Apache-Webserver neu, damit die Änderungen übernommen werden:

Konsole
# 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:

Konsole
# 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:

Code
[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:

Konsole
# 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:

Code
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:

Konsole
# 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:

Konsole
# systemctl restart nginx

Beende danach den uWSGI-Dienst für wsgi_app mit folgendem Befehl:

Konsole
# 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.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Python
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren