Le système d'initialisation de linux est historiquement géré par system V. En 2010, Lennart Poettering, de la société red hat, constate que celui-ci n'est plus adapté aux contraintes des environnements modernes, et décide, avec l'appui de red hat, d'en développer un nouveau : systemd.
Après un tour d'horizon de l'architecture de systemd, nous verrons, comment dev et ops peuvent l'utiliser afin de gérer le cycle de vie de leur application, ordonnancer des tâches, redémarrer automatiquement une application en cas de crash, gérér des dépendances entre processus...
speaker : Jean-Eudes Couignoux
50. @Jean_Eudes#DevoxxSystemD
Passons en mode production
[Unit]
Description=Ma super application en node
[Service]
ExecStart=/opt/nodejs/bin/node /var/www/myApp/main.js
Restart=Always
Environnement=NODE_ENV=production
[Install]
WantedBy=multi-user.target
55. @Jean_Eudes#DevoxxSystemD
Utilisation d'un user non root
[Unit]
Description=Ma super application en node
[Service]
ExecStart=/opt/nodejs/bin/node /var/www/myApp/main.js
Restart=Always
StandardOutput=journal
User=nobody
Group=nobody
Environnement=NODE_ENV=production
[Install]
WantedBy=multi-user.target
59. @Jean_Eudes#DevoxxSystemD
Essayons avec un tomcat
[Unit]
Description=Ma super application en Java
[Service]
Type=forking
PIDFile=/var/run/tomcat.pid
Environnement=CATALINA_PID=/var/run/tomcat.pid
ExecStart=/usr/bin/tomcat start
[Install]
WantedBy=multi-user.target