Kennisbank

1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!

Systemd installeren en configureren op een cloudserver

Deze handleiding legt uit hoe u systemd op een cloudserver installeert en configureert, en beschrijft de belangrijkste commando's die u kunt gebruiken.

 

Vereisten

  • Volg de installatiehandleiding voor systemd op cloudservers.
  • Raadpleeg de officiële documentatie om meer te weten te komen over alle mogelijkheden van systemd.
  • De "unit"-bestanden moeten worden geplaatst in ~/.config/systemd/user/ ( /home/clients/absolute-path-id/.config/systemd/user ) (vervang absolute-path-id door de juiste waarde, zoals weergegeven in uw beheerpaneel) en de rechten moeten worden ingesteld op 0644.
  • De parameter --user moet in elk commando worden opgenomen.

 

Belangrijke commando's

Hieronder vindt u een (niet-uitputtende) lijst met commando's die u kunt gebruiken met systemd.

Dwing systemd om de unit-bestanden opnieuw te lezen en de wijzigingen toe te passen:

systemctl --user daemon-reload

Een service activeren:

systemctl --user enable --now SERVICENAME.service

De status van een service controleren:

systemctl --user status SERVICENAME.service

 

Node configureren als een service met systemd

Het is nodig om een "unit"-bestand met de extensie ".service" aan te maken, dat in de volgende map moet worden opgeslagen:

~/.config/systemd/user/

U kunt het volgende voorbeeld gebruiken door de waarden die beginnen met {} te vervangen:

[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

 

Aanvullende acties met een unit-bestand

systemctl --user daemon-reload

Een service starten (als deze al actief is, gebeurt er niets):

systemctl --user start [Nom du Unit]

Een service stoppen (als deze niet actief is, gebeurt er niets):

systemctl --user stop [Nom du Unit]

Een service herstarten (als deze niet actief is, wordt deze gestart):

systemctl --user restart [Nom du Unit]

Informatie over de service ophalen; in het bijzonder:

  • "Active", wat aangeeft of de service actief is en sinds wanneer.
  • "CGroup" geeft de procesgroep weer die door de service wordt beheerd, waardoor u de actieve processen met hun argumenten en ID kunt zien.

Onder "CGroup" vindt u eventuele logbestanden (de standaarduitvoer en de foutmeldingen van het proces):

systemctl --user status [Nom du Unit]

Schakel het automatisch starten van de service bij het opstarten van de server in; let op: dit start de service niet.

systemctl --user enable [Nom du Unit]

Schakel het automatisch starten van de service bij het opstarten van de server uit; let op: dit stopt de service niet.

systemctl --user disable [Nom du Unit]

 

Configuratie met gebruikersinvoer:

[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

 

⚠️ Voor extra hulp kunt u contact opnemen met een partner of gratis een aanvraag indienen – u kunt ook meer te weten komen over de rol van de hostingprovider.

Link naar deze veelgestelde vragen: https://faq.infomaniak.com/2571


Is deze veelgestelde vragenlijst nuttig geweest?