Serveur Services
Lancement automatique du programme avec un service SYSTEMD#
Principe#
SystemD est le systeme d'initialisation par défaut d'une majorité de distribution Linux moderne. Il permet de lancer des programmes au démarage du système en gérant leurs cycle de vie leurs dépendances.
Pour chaque Service , SystemeD se base sur un fichier de configuration, qui va indiquer comment se lance le programme. Une bonne introduction est disponible sur ce site : https://lea-linux.org/documentations/Systemd
La documentation officielle sur celui ci : https://www.freedesktop.org/software/systemd/man/
Creation d'un service pour lancer un serveur NODE.JS#
Fichier de configuration minimal de notre service à déposer dans le dossier /etc/systemd/system/
[Unit]
Description=weather fake data generator
[Service]
WorkingDirectory=/opt/fakeSonde
ExecStartPre=/usr/bin/npm install
ExecStart=/usr/bin/npm start
[Install]
WantedBy=multi-user.target
On utilise ici npm pour lancer le serveur node avec le script start.
Lancement du service#
Une fois le fichier monservice.service déposé dans le dossier /etc/systemd/system/
(en root) , il est reconnu par systemD. La commande sudo systemctl
va permettre d'interagir avec notre service :
sudo systemctl status monservice
pour avoir son étatsudo systemctl start monservice
pour le démarrersudo systemctl stop monservice
pour l'arrêtersudo systemctl restart monservice
pour le redémarrersudo systemctl enable monservice
pour l'ajouter au démarage du systèmesudo journalctl -xe -u monservice
pour afficher les logs