Comme vous le savez sûrement, j’aime beaucoup le logiciel de serveur web NGINX que j’utilise maintenant sur l’ensemble de mes sites web. C’est fiable, ça tient la charge et c’est aussi hautement personnalisable selon ses besoins. Je le préfère largement à Apache 2 que j’ai maintenant délaissé depuis bien longtemps. NGINX peut paraître un peu plus difficile au début, mais avec l’habitude tout va bien. C’est aussi pour cela que j’essaye de vous proposer plein de tutoriels pour utiliser NGINX sans la moindre difficulté et avoir des sites web qui tournent bien avec peu de ressources.
Dans la liste des tutoriels que je vous recommande d’aller voir vous avez par exemple l’utilisation de la dernière version PHP 8.3 avec NGNIX ou encore comment installer WordPress sur un serveur Linux avec NGINX. Sans oublier le tutoriel pour mettre son site sous NGINX en HTTPS avec Let’s Encrypt. J’en propose bien d’autres, mais le but n’est pas de vous faire ici la liste des tutoriels NGNIX. Ce sont des articles que vous retrouverez facilement avec la recherche sur le site ou je l’espère via un moteur de recherche. Nous allons plutôt nous concentrer sur notre problème du jour, comment faire pour que NGINX redémarre tout seule après un reboot du serveur ?
Vérifier le statut de NGINX
C’est une chose courante, qui je suis sur est arrivé à beaucoup d’entre vous et c’est bien pour ça que vous êtes là. Pour une raison qui peut être diverse et variée, vous avez redémarré votre serveur et la catastrophe, alors que le serveur est bien en ligne et répond à une connexion en SSH, votre ou vos sites web ne repartent pas. Tout reste hors ligne et le nom de domaine ne vous répond plus. Attention cela peut être un comportement voulu par certains administrateurs système donc ce n’est pas une erreur en soit.
Si vous n’êtes pas sûr de ce qu’il se passe la première chose à faire est de vérifier le statut de NGINX sur votre serveur. Je pars du principe que vous utilisez systemd, mais si je sais que ça ne fait pas encore totalement consensus pour tout le monde. La commande pour vérifier l’état de NGINX est :
sudo systemctl status nginx
Selon le message que vous allez obtenir, il y a, je dirais 2 grandes possibilités. Soit vous avez un problème de configuration dans les fichiers de NGINX que vous n’aviez pas appliqué précédemment et qui se sont donc activés au redémarrage de votre serveur web. Vous pouvez le vérifier avec la commande suivante et corriger le problème :
sudo nginx -t
Sinon, c’est probablement beaucoup moins grave et c’est ce qui nous intéresse ici. NGINX n’a pas redémarré tout seul après le reboot de votre serveur.
Activer NGINX au démarrage du serveur avec systemd
Pour que cette mésaventure ne se reproduise pas, on va forcer le lancement de NGINX au démarrage du serveur web. Avec systemd, c’est vraiment quelque chose que vous allez pouvoir faire très facilement à l’aide de la commande suivante :
sudo systemctl enable nginx
Normalement, et vous pouvez tester dans la foulée en faisant un redémarrage de votre serveur web, cette fois NGINX devrait se lancer automatiquement. Très pratique et en cas de redémarrage inopiné de votre serveur web, tout devrait repartir comme sur des roulettes !
Les commandes utiles avec systemd et NGINX
J’en profite pour vous donner les autres commandes qu’il est utile de connaître pour manipuler NGINX sur votre serveur web et qui peuvent être pratique lorsque vous touchez à la configuration :
# Pour démarrer Nginx
sudo systemctl start nginx
# Pour arrêter Nginx
sudo systemctl stop nginx
# Pour redémarrer Nginx
sudo systemctl restart nginx
# Recharge la configuration sans couper les connexions
sudo systemctl reload nginx