Systemd Service More Simple Webserver: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 9: Zeile 9:
 
[Service]
 
[Service]
 
Type=simple
 
Type=simple
User=thomas
+
User=kit
WorkingDirectory=/home/thomas/html
+
WorkingDirectory=/home/kit/Downloads
ExecStart=/usr/bin/python3 -m http.server
+
ExecStart=/bin/python3 -m http.server
 
Restart=on-abort
 
Restart=on-abort
  
Zeile 17: Zeile 17:
 
WantedBy=multi-user.target
 
WantedBy=multi-user.target
 
</pre>
 
</pre>
 +
 +
=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=
 
=Erklärung=
;[Unit] Abschnitt
+
;[Unit]
 
*Description=My Miscellaneous Service
 
*Description=My Miscellaneous Service
 
Eine Beschreibung des Dienstes. In diesem Fall wird der Dienst als "My Miscellaneous Service" beschrieben.
 
Eine Beschreibung des Dienstes. In diesem Fall wird der Dienst als "My Miscellaneous Service" beschrieben.
 
*After=network.target
 
*After=network.target
 
Gibt an, dass dieser Dienst erst gestartet wird, nachdem das Netzwerksystem gestartet wurde.
 
Gibt an, dass dieser Dienst erst gestartet wird, nachdem das Netzwerksystem gestartet wurde.
;[Service] Abschnitt
+
;[Service]
 
*Type=simple  
 
*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.
 
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.
Zeile 34: Zeile 49:
 
*Restart=on-abort
 
*Restart=on-abort
 
Der Dienst wird neu gestartet, wenn er unerwartet beendet wird (z.B. durch einen Absturz).
 
Der Dienst wird neu gestartet, wenn er unerwartet beendet wird (z.B. durch einen Absturz).
;[Install] Abschnitt
+
;[Install]
 
*WantedBy=multi-user.target
 
*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.
 
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.

Aktuelle Version vom 14. Juli 2024, 21:16 Uhr

Service Datei

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

[Service]
Type=simple
User=kit
WorkingDirectory=/home/kit/Downloads
ExecStart=/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
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

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.