Nginx échoue à se recharger - comment savoir pourquoi?

88

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

Je me suis peu à peu attelé à divers aspects et j'ai même réussi à optimiser les temps de chargement sur ma page wordpress.

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

sudo /etc/init.d/nginx reload

À quoi j'obtiens:

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

Aucune information ou raisonnement supplémentaire n'est donné. Comment redémarrer mon serveur pour qu'il imprime les erreurs lors du rechargement afin que je puisse commencer à détecter l'erreur.

Pour une question bonus:

Pour les administrateurs système Nginx, lorsque vous avez apporté un tas de modifications aux hôtes et que vous vous êtes branché sur quelques autres bits et que, soudainement, votre serveur nginx ne se rechargera pas (tout semble encore fonctionner!) approche pour isoler pourquoi ou commencer à décomposer pour déboguer!

    
posée Huw 05.04.2014 - 20:32
la source

8 réponses

128

Vérifiez syslog (/ var / log / syslog) pour des messages sur les problèmes de 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 les erreurs dans votre configuration.

    
réponse donnée Dlloyd 05.04.2014 - 22:54
la source
39

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

sudo nginx -t
    
réponse donnée Nanhe Kumar 22.10.2014 - 07:46
la source
5

Vous devriez probablement vérifier les erreurs dans /var/log/nginx/error.log .

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

    
réponse donnée Arvind07 29.09.2015 - 06:19
la source
3

Vérifiez votre /etc/nginx/sites-available/default ou la copie que vous utilisez, et assurez-vous de supprimer ( # ) tout } dont vous avez besoin par rapport au { qui n'a pas été mis en commentaires. C'était mon problème.

    
réponse donnée kenisfis 11.09.2014 - 18:06
la source
2

J'ai exécuté ces commandes pour que nginx puisse sauvegarder et travailler:

# 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 !!

    
réponse donnée Aaron Lelevier 20.04.2015 - 02:49
la source
2

Besoin de purger nginx puis tapez sur la ligne de commande:

ln -s /etc/nginx/sites-availbale/default .etc/nginx/sites-enabled/default
    
réponse donnée user445400 01.09.2015 - 05:37
la source
1

rouvrir tous les fichiers en utilisant

nginx -s reopen

alors utilisez

nginx -s reload

Comme l’aide nginx montre que c’est le cas, rechargez le nginx en envoyant le signal à master process.it devrait fonctionner.

Requête: veuillez ne pas fournir de commandes purge sans précaution, car cela peut causer des problèmes pour les débutants (toutes les configurations seront perdues) .... Un gros problème.

    
réponse donnée Anto P Joseph 29.05.2017 - 08:49
la source
1

Si cela vous donne de telles erreurs, vous pouvez vérifier journalctl -xe out.
Il a plein d'informations sur ce qui s'est passé dans un système d'exploitation. vous pouvez trouver la ligne ou simplement journalctl -xe | grep nginx pour trouver ce qui est arrivé à nginx quand il a essayé de s'exécuter.

    
réponse donnée TechJS 20.07.2017 - 21:47
la source

Lire d'autres questions sur les étiquettes