Nginx est un serveur web très performant, couramment utilisé pour servir des sites web, faire du reverse proxying et de l’équilibrage de charge. Que vous mettiez à jour des fichiers de configuration ou que vous appliquiez des correctifs de sécurité, vous devrez souvent recharger ou redémarrer Nginx. Ce guide explique la différence entre rechargement et redémarrage, et comment effectuer chaque action en toute sécurité sur un serveur virtuel ou un serveur privé

Recharger vs Redémarrer – Quelle est la différence ?

ActionDescription de l’action
RechargerRecharge gracieusement la configuration sans interrompre les connexions actives. A utiliser de préférence après les modifications de la configuration.
RedémarrerArrête et redémarre complètement Nginx. Utilisé pour des changements plus profonds ou des réinitialisations complètes.

Astuce : Exécutez toujours un test de configuration avant de recharger afin d’éviter les temps d’arrêt dus aux erreurs.

Comment tester la configuration de Nginx

Avant de recharger ou de redémarrer, vérifiez que votre configuration est valide :

sudo nginx -t

Si tout est OK, vous verrez :

nginx : la syntaxe du fichier de configuration /etc/nginx/nginx.conf est correcte  
nginx : le test du fichier de configuration /etc/nginx/nginx.conf est réussi

Comment recharger Nginx

Utilisez cette méthode lorsque vous modifiez les paramètres du fichier /etc/nginx/nginx.conf ou lorsque vous ajoutez/modifiez des hôtes virtuels.

Sur les systèmes basés sur systemd (Ubuntu 16.04 , CentOS 7 , Debian 9 ) :

sudo systemctl reload nginx

Sur les systèmes plus anciens utilisant init.d :

sudo service nginx reload

Ceci indique à Nginx de relire sa configuration sans interrompre les connexions en cours.

Comment redémarrer Nginx

Utilisez ceci lorsque Nginx ne répond pas ou après des mises à jour majeures.

Sur les systèmes systemd :

sudo systemctl restart nginx

Sur les systèmes init.d :

sudo service nginx restart

Cette commande arrête et démarre Nginx, ce qui interrompt toutes les sessions en cours. À utiliser avec précaution sur les serveurs de production.

Optionnel : Recharger directement avec le binaire nginx

Vous pouvez également envoyer un signal HUP manuellement :

sudo kill -HUP $(cat /var/run/nginx.pid)

Cela fonctionne de la même manière qu’un rechargement et est utile dans les scripts personnalisés.

Résolution des problèmes courants

  • “nginx : [emerg] unknown directive…” – Vous avez probablement fait une erreur de syntaxe. Exécutez nginx -t pour déboguer.
  • Nginx ne redémarre pas correctement – Vérifiez les fichiers journaux :
sudo tail -n 50 /var/log/nginx/error.log

Conclusion

Le rechargement est sûr pour les serveurs vivants et devrait être votre option par défaut après des changements de configuration. Le redémarrage est utile pour les réinitialisations complètes ou si Nginx devient instable. Dans tous les cas, testez toujours votre configuration avant d’appliquer les changements.