Ceci est une nouvelle installation dans laquelle nginx a précédemment démarré et s’est arrêté normalement. Je crois que cette erreur est survenue après avoir activé les blocs de serveur testés (nginx -t) avec succès. J’ai ensuite essayé de redémarrer nginx et j’ai reçu cette erreur:
nginx: [emerg] open() "/usr/share/nginx/on" failed (13: Permission denied)
Le fichier “on” n’existait pas avant la tentative de redémarrage. Il vient d’être créé et est vide. Lorsque je redémarre php-fmp (avec succès) puis que j’essaie de redémarrer nginx, l’erreur passe à:
nginx: [emerg] open() "/var/run/nginx.pid" failed (13: Permission denied) nginx: configuration file /etc/nginx/nginx.conf test failed
Mais encore une fois, quand je lance nginx -t
, je reçois:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Je pensais que cela pourrait être un problème d’utilisateur, mais il fonctionne comme nginx:
# ps -elf | grep nginx 5 S nginx 2774 2773 0 80 0 - 234152 skb_re 22:07 ? 00:00:00 php-fpm: pool www 5 S nginx 2775 2773 0 80 0 - 234152 skb_re 22:07 ? 00:00:00 php-fpm: pool www 5 S nginx 2776 2773 0 80 0 - 234152 skb_re 22:07 ? 00:00:00 php-fpm: pool www 5 S nginx 2777 2773 0 80 0 - 234152 skb_re 22:07 ? 00:00:00 php-fpm: pool www 5 S nginx 2778 2773 0 80 0 - 234152 skb_re 22:07 ? 00:00:00 php-fpm: pool www 0 R root 2940 2472 0 80 0 - 25811 - 22:18 pts/0 00:00:00 grep nginx
De plus, en utilisant sudo nginx -t
ne change rien. Ce qui est aussi étrange, c’est le fait qu’il y ait un nginx.pid même si nginx n’est pas en cours d’exécution. La suppression du fichier pid modifie simplement le message d’erreur à:
nginx: [emerg] open() "/usr/share/nginx/on" failed (13: Permission denied)
La suppression du fichier ne fait aucune différence non plus.
Assurez-vous que vous êtes un superutilisateur.
sudo nginx -t
Exécutez getenforce pour vérifier le mode SELinux. S’il est écrit Enforcing, définissez temporairement le mode sur Permissive en exécutant setenforce 0 et vérifiez si votre application fonctionne ensuite.