Der einfache Webserver: Unterschied zwischen den Versionen
| Zeile 43: | Zeile 43: | ||
;[Service] | ;[Service] | ||
*Type=simple | *Type=simple | ||
| − | |||
| − | |||
Der Dienst wird als Benutzer thomas ausgeführt. | Der Dienst wird als Benutzer thomas ausgeführt. | ||
| − | *WorkingDirectory=/ | + | *WorkingDirectory=/srv/www |
Das Arbeitsverzeichnis für den Dienst. Hier wird der Dienst im Verzeichnis /home/thomas/html ausgeführt. | Das Arbeitsverzeichnis für den Dienst. Hier wird der Dienst im Verzeichnis /home/thomas/html ausgeführt. | ||
| − | *ExecStart=/usr/bin/python3 -m http.server | + | *ExecStart=/usr/bin/python3 -m http.server 80 |
Der Befehl, der ausgeführt wird, um den Dienst zu starten. In diesem Fall startet Python3 einen einfachen HTTP-Server. | Der Befehl, der ausgeführt wird, um den Dienst zu starten. In diesem Fall startet Python3 einen einfachen HTTP-Server. | ||
*Restart=on-abort | *Restart=on-abort | ||
Version vom 14. April 2026, 14:08 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
- Kontrolle ob der Port geöffnet ist
ss -lntp | grep 8000
Erklärung
- [Unit]
- Description=My Miscellaneous Service
Eine Beschreibung des Dienstes. In diesem Fall wird der Dienst als "My Miscellaneous Service" beschrieben.
- After=network.target
Gibt an, dass dieser Dienst erst gestartet wird, nachdem das Netzwerksystem gestartet wurde.
- [Service]
- Type=simple
Der Dienst wird als Benutzer thomas ausgeführt.
- WorkingDirectory=/srv/www
Das Arbeitsverzeichnis für den Dienst. Hier wird der Dienst im Verzeichnis /home/thomas/html ausgeführt.
- ExecStart=/usr/bin/python3 -m http.server 80
Der Befehl, der ausgeführt wird, um den Dienst zu starten. In diesem Fall startet Python3 einen einfachen HTTP-Server.
- Restart=on-abort
Der Dienst wird neu gestartet, wenn er unerwartet beendet wird (z.B. durch einen Absturz).
- [Install]
- WantedBy=multi-user.target
Dieser Schlüssel gibt an, dass der Dienst im multi-user.target gestartet wird. multi-user.target ist ein systemd-Ziel, das eine Nicht-Grafik-Benutzeroberfläche beschreibt und im Wesentlichen einen Mehrbenutzermodus ohne GUI darstellt.
Zusammenfassung
Die Datei definiert einen systemd-Dienst, der einen einfachen HTTP-Server startet, der als Benutzer thomas ausgeführt wird und im Verzeichnis /home/thomas/html arbeitet. Der Dienst wird automatisch neu gestartet, wenn er abstürzt, und er wird nach dem Netzwerkdienst gestartet. Der Dienst wird im Mehrbenutzermodus ohne grafische Benutzeroberfläche verfügbar gemacht.