Please enable JavaScript to view this site.

Installationshandbuch

Navigation: Installationshandbuch > JobRouter-Setup > Manuelle Installation (Linux) > Beispiel: Dienste

Aufbau der Dienstdatei

Scroll Zurück Oben Weiter Mehr

Aufbau der Dienstdatei Anhand der /etc/systemd/system/jobserver.service Datei.

[Unit]

Description=JobServer Service

After=network.target

Wants=network-online.target 

 

[Service]

User=jobrouter

Group=jobrouter

SyslogIdentifier=JobServer 

Environment="JOBROUTER_SERVICESCONFIGPATH=/etc/JobRouter"

Environment="XDG_CACHE_HOME=/tmp"

WorkingDirectory=/opt/JobRouter/JobServer/

ExecStart=/usr/share/dotnet/dotnet /opt/JobRouter/JobServer/JobServer.dll

Restart=always

Type=notify 

KillSignal=SIGINT

 

[Install]

WantedBy=multi-user.target

[Unit]-Abschnitt

Der [Unit]-Abschnitt beschreibt grundlegende Eigenschaften des Dienstes, wann er gestartet wird und von welchen anderen Diensten er abhängig ist.

Description=JobServer Service: Eine kurze Beschreibung des Dienstes. Dies wird in Systemprotokollen und beim Anzeigen des Dienststatus angezeigt.

After=network.target: Bestimmt, dass der Dienst erst nach dem Start der Netzwerkdienste (network.target) ausgeführt wird.

Wants=network-online.target: Signalisiert, dass der Dienst das Netzwerk benötigt, sobald es online ist, aber nicht zwingend darauf warten muss. Dies hilft sicherzustellen, dass der Dienst nur ausgeführt wird, wenn eine Netzwerkverbindung verfügbar ist.

[Service]-Abschnitt

Hier werden die Hauptkonfigurationen für den Dienst festgelegt, einschließlich des Benutzers, der den Dienst ausführt, und des Startbefehls.

User=jobrouter und Group=jobrouter: Gibt an, dass der Dienst als Benutzer jobrouter und mit der Gruppe jobrouter ausgeführt wird. Dies beschränkt die Rechte des Dienstes und erhöht die Sicherheit.

SyslogIdentifier=JobServer: Dieser Parameter gibt den Namen an, unter dem der Dienst Protokollnachrichten in den Systemprotokollen (Syslog) ablegt. Hier werden die Einträge als JobServer gekennzeichnet.

Environment="JOBROUTER_SERVICESCONFIGPATH=/etc/JobRouter" und Environment="XDG_CACHE_HOME=/tmp": Legt Umgebungsvariablen fest, die für den Dienst verfügbar sind:

oJOBROUTER_SERVICESCONFIGPATH: Der Pfad zur Konfigurationsdatei des Dienstes.

oXDG_CACHE_HOME: Der Pfad, in dem Cache-Dateien gespeichert werden.

WorkingDirectory=/opt/JobRouter/JobServer/: Das Arbeitsverzeichnis, in dem der Dienst ausgeführt wird. Dies ist der Ort, an dem der Dienst Dateien suchen und erstellen kann.

ExecStart=/usr/share/dotnet/dotnet /opt/JobRouter/JobServer/JobServer.dll: Der Befehl zum Starten des Dienstes. Hier wird die .NET-Runtime verwendet, um die Datei JobServer.dll auszuführen.

Restart=always: Der Dienst wird automatisch neu gestartet, falls er unerwartet beendet wird. Dies stellt sicher, dass der Dienst immer läuft.

Type=notify: Der Diensttyp notify gibt an, dass der Dienst Systemd benachrichtigt, wenn er vollständig gestartet ist. Dies ist nützlich, um zu warten, bis der Dienst bereit ist.

KillSignal=SIGINT: Gibt an, dass der Dienst mit dem Signal SIGINT (Interrupt) beendet werden soll, was dem Abbrechen mit „Strg+C“ entspricht.

[Install]-Abschnitt

Dieser Abschnitt definiert, wann und wie der Dienst gestartet wird.

WantedBy=multi-user.target: Legt fest, dass der Dienst beim Hochfahren im „multi-user“-Modus (häufigster Betriebsmodus auf Servern) automatisch gestartet werden soll. Der multi-user.target entspricht einem Zustand ohne grafische Benutzeroberfläche und eignet sich für Serverdienste.