Wissensdatenbank

1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!

Systemd auf Cloud-Server installieren und konfigurieren

Dieser Leitfaden erklärt, wie man systemd auf einem Cloud-Server installiert und konfiguriert und stellt die wichtigsten verwendbaren Befehle vor.

 

Voraussetzungen

  • Folgen Sie dem Installationsleitfadensystemd für Cloud-Server.
  • Konsultieren Sie die offizielle Dokumentation, um sich über alle Möglichkeiten von systemd zu informieren.
  • Die "Unit"-Dateien müssen in ~/.config/systemd/user/ ( /home/clients/absolute-path-id/.config/systemd/user ) (ersetzen Sie absolute-path-id sichtbar in Ihrem Manager) platziert werden, und die Berechtigungen müssen auf 0644 eingestellt werden.
  • Der Parameter --user muss in jedem Befehl angegeben werden.

 

Wichtige Befehle

Hier ist eine nicht abschließende Liste der mit systemd verwendbaren Befehle.

Erzwingen, dass systemd die Unit-Dateien erneut liest und die Änderungen berücksichtigt:

systemctl --user daemon-reload

Aktivierung eines Dienstes:

systemctl --user enable --now SERVICENAME.service

Überprüfung des Status eines Dienstes:

systemctl --user status SERVICENAME.service

 

Konfiguration von Node als Dienst mit systemd

Es wird notwendig sein, eine "Unit"-Datei mit der Erweiterung ".service" zu erstellen, die im Verzeichnis gespeichert werden muss:

~/.config/systemd/user/

Es ist möglich, das folgende Beispiel zu verwenden, indem man die Werte ersetzt, die mit {} beginnen:

[Unit]
Description={Le nom du service} # Spécifier ici un nom du service. Celui-ci est obligatoire mais n'a pas d'impact sur le fonctionnement
[Service]
Restart=always
Environment=NODE_VERSION={la version souhaitée} # Spécifier ici la version de Node à utiliser. S'assurer qu'elle soit installée au préalable avec "nvm install {la version souhaitée}"
WorkingDirectory=%h/{repertoire du projet Node} # %h correspond à la racine de l'hébergement
ExecStart=/bin/bash -c "exec $HOME/.nvm/nvm-exec {commande de lancement du script node}" # Cette commande dépend du projet. Par exemple, "npm run start", "npm run serve" ou encore "node server.js" sont courants
[Install]
WantedBy=default.target

 

Zusätzliche Aktionen mit einer Unit-Datei

systemctl --user daemon-reload

Dienst starten (wenn dieser bereits aktiv ist, passiert nichts):

systemctl --user start [Nom du Unit]

Dienst stoppen (wenn dieser nicht aktiv ist, passiert nichts):

systemctl --user stop [Nom du Unit]

Dienst neu starten (wenn er nicht läuft, wird er gestartet):

systemctl --user restart [Nom du Unit]

Informationen über den Dienst erhalten; insbesondere:

  • "Active", das angibt, ob der Dienst läuft und seit wann
  • "CGroup" zeigt die Prozessgruppe, die der Dienst verwaltet, das ermöglicht es, die aktiven Prozesse mit ihren Argumenten und ihrer ID zu sehen

Unter "CGroup" befinden sich eventuelle Logs (die Standardausgabe und der Fehler des Prozesses):

systemctl --user status [Nom du Unit]

Automatisches Starten des Dienstes beim Booten des Servers aktivieren; Hinweis: dies startet den Dienst nicht:

systemctl --user enable [Nom du Unit]

Automatisches Starten des Dienstes beim Booten des Servers deaktivieren; Hinweis: dies stoppt den Dienst nicht:

systemctl --user disable [Nom du Unit]

 

Konfiguration mit den Benutzereingaben:

[Unit]
Description="nom service"
[Service]
Restart=always
Environment=NODE_VERSION=16.17
WorkingDirectory=%h/sites/"nom-repertoire-site"/
ExecStart=/bin/bash -c "exec $HOME/.nvm/nvm-exec npm run start"
[Install]
WantedBy=default.target

 

⚠️ Für zusätzliche Hilfe kontaktieren Sie einen Partner oder starten Sie kostenlos eine Ausschreibung — erfahren Sie auch mehr über die Rolle des Hosters.


War diese FAQ nützlich?