web-dev-qa-db-fra.com

Nginx ne parvient pas à recharger - comment dépister pourquoi?

Bonjour, mon serveur Nginx fonctionne très bien sur le serveur Ubuntu 12.04 depuis un moment.

J'ai progressivement progressé sur divers bits et je suis allé aussi loin que d'optimiser les temps de chargement de ma page wordpress.

Après avoir apporté quelques modifications à mon fichier hosts, j'ai décidé de:

Sudo /etc/init.d/nginx reload

À quoi je reçois:

  • Rechargement de la configuration de nginx nginx [échec]

Aucune information supplémentaire ou raisonnement n'est donné. Comment puis-je redémarrer mon serveur pour qu'il imprime toutes les déclarations d'erreur lors du rechargement afin de pouvoir commencer à localiser l'erreur?.

Pour une question bonus:

Pour les administrateurs systèmes de Nginx, lorsque vous avez apporté de nombreux changements aux hôtes et que vous avez ajouté quelques éléments, et que votre serveur nginx ne se recharge plus (en fait, tout semble toujours en cours d'exécution!) Comment commencer votre approche d'isolation pourquoi ou commencer à décomposer les choses pour déboguer!

93
Huw

Recherchez dans syslog (/ var/log/syslog) des messages sur les problèmes liés aux fichiers de configuration.

À partir de la ligne de commande, vous pouvez exécuter:

nginx -c /etc/nginx/nginx.conf -t

pour que nginx vérifie votre configuration pour les erreurs.

141
Dlloyd

Exécutez cette commande, vous pouvez trouver le problème.

Sudo nginx -t
44
Nanhe Kumar

Vous devriez probablement rechercher des erreurs dans /var/log/nginx/error.log.

Dans mon cas, je n'ai pas ajouté le port pour ipv6. Vous devriez également le faire (si vous utilisez nginx sur un port autre que 80): listen [::]:8000 default_server ipv6only=on;

7
Arvind07

J'ai lancé ces commandes pour que nginx soit rétabli et fonctionne:

# remove nginx conf files
apt-get purge nginx

# reinstall
apt-get install nginx

# make sure the default site is enabled
ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default

# start nginx
Sudo /etc/init.d/nginx start 

nginx travaille maintenant !!

5
Aaron Lelevier

Vérifiez votre /etc/nginx/sites-available/default ou toute copie de celui-ci que vous utilisez, et assurez-vous de supprimer le commentaire (retirez #) du } dont vous pourriez avoir besoin par rapport au { qui était probablement non commenté. C'était mon problème.

3
kenisfis

Besoin de purger nginx puis tapez en ligne de commande:

ln -s /etc/nginx/sites-availbale/default .etc/nginx/sites-enabled/default
2
user445400

faire une réouverture de tous les fichiers, en utilisant

nginx -s reopen

puis utiliser

nginx -s reload

Comme le montre l’aide de nginx, recharger le nginx en envoyant le signal à master process.it devrait fonctionner.

Requête: veuillez ne pas fournir les commandes purge sans précaution, car cela pourrait poser problème aux débutants (toutes les configurations seront perdues) .... Un gros problème.

2
Anto

Si cela vous donne de telles erreurs, vous pouvez vérifier journalctl -xe.
Il contient une foule d’informations sur ce qui s’est passé dans une affaire de système d’exploitation.
vous pouvez trouver la ligne ou simplement journalctl -xe | grep nginx pour savoir ce qui est arrivé à nginx quand il a essayé de s’exécuter lui-même.

1
TechJS