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 Serveur Cloud 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 der Installationsanleitung fĂĽr
systemdfür Serveur Cloud. - Die offizielle Dokumentation konsultieren, um sich über die 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 (wobei absolute-path-id durch die in Ihrem Manager sichtbare ID ersetzt wird) und die Berechtigungen mĂĽssen auf 0644 gesetzt werden. - Der Parameter
--usermuss in jedem Befehl angegeben werden.
Hauptbefehle
Hier ist eine nicht abschließende Liste von Befehlen, die mit systemd verwendet werden können.
Dazu zwingen systemd die Unit-Dateien erneut zu lesen und die Änderungen zu berücksichtigen:
systemctl --user daemon-reloadAktivierung eines Dienstes:
systemctl --user enable --now SERVICENAME.serviceĂśberprĂĽfung des Status eines Dienstes:
systemctl --user status SERVICENAME.serviceKonfiguration 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 die Werte, die mit {} beginnen, ersetzt werden:
[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:
- "Active" zeigt an, ob der Dienst läuft und seit wann"
- "CGroup" zeigt die Prozessgruppe an, die der Dienst verwaltet. Dies ermöglicht es, die aktiven Prozesse mit ihren Argumenten und ihrer ID zu sehen.
Unter „CGroup“ befinden sich eventuelle Logs (die Standardausgabe und Fehler des Prozesses):
systemctl --user status [Nom du Unit]Den automatischen Start des Dienstes beim Serverstart aktivieren; Hinweis: Dies startet den Dienst nicht:
systemctl --user enable [Nom du Unit]Das automatische Starten des Dienstes beim Serverstart 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