Systemd Service More Simple Webserver
Service Datei
vi /etc/systemd/system/simple-http.service
[Unit] Description=My Miscellaneous Service After=network.target [Service] Type=simple User=thomas WorkingDirectory=/home/thomas/html ExecStart=/usr/bin/python3 -m http.server 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
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
Gibt an, dass dies ein einfacher Dienst ist. systemd nimmt an, dass der Dienst sofort nach dem Starten des in ExecStart angegebenen Befehls einsatzbereit ist.
- User=thomas
Der Dienst wird als Benutzer thomas ausgeführt.
- WorkingDirectory=/home/thomas/html
Das Arbeitsverzeichnis für den Dienst. Hier wird der Dienst im Verzeichnis /home/thomas/html ausgeführt.
- ExecStart=/usr/bin/python3 -m 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
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.