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
systemd
fü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
--user
muss 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-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 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.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" 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