Wissensdatenbank
1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!
Systemd auf einem Cloud-Server installieren und konfigurieren
Diese Anleitung erklärt, wie Sie systemd auf einem Cloud-Server installieren und konfigurieren, und stellt die wichtigsten verwendbaren Befehle vor.
Voraussetzungen
- Folgen Sie der Installationsanleitung für
systemdfür Cloud Server. - Lesen Sie die offizielle Dokumentation, um sich über alle Möglichkeiten von systemd zu informieren.
- Die Dateien mit der Endung „unit“ müssen in folgendes Verzeichnis gelegt werden:
~/.config/systemd/user/ ( /home/clients/absolute-path-id/.config/systemd/user )(wobei Sie absolute-path-id, das in Ihrem Manager angezeigt wird, ersetzen) und die Berechtigungen müssen auf 0644 gesetzt werden. - Der Parameter
--usermuss in jedem Befehl angegeben werden.
Wichtige Befehle
Hier ist eine nicht erschöpfende Liste von Befehlen, die mit systemd verwendet werden können.
systemd dazu zwingen, 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.service
Konfiguration von Node als Dienst mit systemd
Es ist erforderlich, eine Datei mit dem Namen „Unit“ und der Erweiterung „.service“ zu erstellen und diese im folgenden Verzeichnis zu speichern:
~/.config/systemd/user/Sie können das folgende Beispiel wiederverwenden, 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.target
Weitere Aktionen mit einer Unit-Datei
systemctl --user daemon-reloadDienst starten (wenn dieser bereits aktiv ist, passiert nichts):
systemctl --user start [Nom du Unit]Dienst beenden (wenn der Dienst nicht aktiv ist, passiert nichts):
systemctl --user stop [Nom du Unit]Dienst neu starten (wenn der Dienst nicht läuft, wird er gestartet):
systemctl --user restart [Nom du Unit]Informationen zum Dienst abrufen, insbesondere:
- „Aktiv“, das anzeigt, ob der Dienst ausgeführt wird und seit wann.
- „CGroup“ zeigt die Prozessgruppe an, die vom Dienst verwaltet wird. Dies ermöglicht die Anzeige der aktiven Prozesse mit ihren Argumenten und ihrer ID.
Unterhalb von „CGroup“ befinden sich gegebenenfalls Protokolle (die Standardausgabe und Fehlerausgabe des Prozesses):
systemctl --user status [Nom du Unit]Automatischen Start des Dienstes beim Serverstart aktivieren; Hinweis: Dies startet den Dienst nicht:
systemctl --user enable [Nom du Unit]Automatischen Start des Dienstes beim Serverstart deaktivieren; Hinweis: Dies stoppt den Dienst nicht:
systemctl --user disable [Nom du Unit]
Konfiguration mit den Benutzereinträgen:
[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.targetLink zu dieser FAQ: https://faq.infomaniak.com/2571
War diese FAQ nützlich?