1000 FAQ, 500 Anleitungen und Lernvideos. 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.
⚠️ Für zusätzliche Hilfe kontaktieren Sie einen Partner oder starten Sie kostenlos eine Ausschreibung — erfahren Sie auch mehr über die Rolle des Hosters.
Voraussetzungen
- Folgen Sie dem Installationsleitfaden fĂĽr systemd 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 )platziert werden (ersetzen Sie absolute-path-id, sichtbar in Ihrem Manager) und die Berechtigungen mĂĽssen auf 0644 eingestellt werden. - Der Parameter
--usermuss 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-reloadAktivieren eines Dienstes:
systemctl --user enable --now SERVICENAME.serviceĂśberprĂĽfen des Status eines Dienstes:
systemctl --user status SERVICENAME.serviceKonfigurieren von Node als Dienst mit systemd
Es ist notwendig, 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 Sie die Werte, die mit {} beginnen, ersetzen:
[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.targetZusätzliche Aktionen mit einer Unit-Datei
systemctl --user daemon-reloadDienst 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:
- „Aktiv“, das anzeigt, ob der Dienst läuft und seit wann
- „CGroup“ zeigt die Prozessgruppe an, die der Dienst verwaltet. Dadurch können die aktiven Prozesse mit ihren Argumenten und ihrer ID angezeigt werden
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