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?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

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