Der einfache Webserver: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 48: Zeile 48:
 
*Type=simple
 
*Type=simple
 
Systemd behandelt den gestarteten Prozess direkt als Hauptprozess. Der Dienst gilt als aktiv, sobald ExecStart läuft – kein Forking.
 
Systemd behandelt den gestarteten Prozess direkt als Hauptprozess. Der Dienst gilt als aktiv, sobald ExecStart läuft – kein Forking.
*User=www-data
 
Der Dienst wird unter dem unprivilegierten Benutzer www-data ausgeführt.
 
 
*WorkingDirectory=/srv/www
 
*WorkingDirectory=/srv/www
 
Das Arbeitsverzeichnis des Dienstes. Python's http.server liefert Dateien aus diesem Verzeichnis aus.
 
Das Arbeitsverzeichnis des Dienstes. Python's http.server liefert Dateien aus diesem Verzeichnis aus.

Aktuelle Version vom 15. April 2026, 06:57 Uhr

Vorarbeiten

mkdir /srv/www
chmod 755 /srv/www

Service Datei

vi /etc/systemd/system/simple-http.service
[Unit]
Description=My Miscellaneous Service
After=network.target

[Service]
Type=simple
WorkingDirectory=/srv/www
ExecStart=/bin/python3 -m http.server 80
Restart=on-abort

[Install]
WantedBy=multi-user.target

Handling

Änderungen laden
systemctl daemon-reload
Starten des Dienstes
systemctl start simple-http.service
Aktivieren des Dienstes beim Neustart des Systems
systemctl enable simple-http.service
Status anzeigen
systemctl status simple-http.service
Systemd Logs
journalctl -fu simple-http.service
GET-Requests aus den Logs ausblenden
journalctl -fu simple-http.service | grep -v '"GET'
Nur Fehler anzeigen
journalctl -fu simple-http.service -p err
Kontrolle ob der Port geöffnet ist
ss -lntp | grep :80

Erklärung

[Unit]
  • Description=My Miscellaneous Service

Eine Beschreibung des Dienstes, die bei systemctl status angezeigt wird.

  • After=network.target

Gibt an, dass dieser Dienst erst gestartet wird, nachdem das Netzwerksystem gestartet wurde.

[Service]
  • Type=simple

Systemd behandelt den gestarteten Prozess direkt als Hauptprozess. Der Dienst gilt als aktiv, sobald ExecStart läuft – kein Forking.

  • WorkingDirectory=/srv/www

Das Arbeitsverzeichnis des Dienstes. Python's http.server liefert Dateien aus diesem Verzeichnis aus.

  • ExecStart=/bin/python3 -m http.server 80

Der Befehl, der den Dienst startet. Python3 startet einen einfachen HTTP-Server auf Port 80.

  • Restart=on-abort

Der Dienst wird neu gestartet, wenn er unerwartet beendet wird (z.B. durch einen Absturz).

[Install]
  • WantedBy=multi-user.target

Der Dienst wird im Mehrbenutzermodus ohne grafische Benutzeroberfläche gestartet, was dem normalen Serverbetrieb entspricht.

Zusammenfassung

Die Datei definiert einen systemd-Dienst, der einen einfachen HTTP-Server startet und Dateien aus /srv/www ausliefert. Der Dienst wird nach dem Netzwerk gestartet, läuft unter dem unprivilegierten Benutzer www-data und wird bei einem Absturz automatisch neu gestartet.