Autorisation refusée pour fastcgi_pass en utilisant PHP7

19

J'utilise LEMP avec PHP7.0.

J'ai ceci dans mon bloc serveur

fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

Mais lorsque j'ouvre le site, il renvoie une 502 Bad Gateway. Voici le journal des erreurs.

*1 connect() to unix:/var/run/php/php7.0-fpm.sock failed (13: Permission denied) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET / HTTP1.1", upstream: "fsatcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "example.com"

Il indique l' autorisation refusée . Qu'est-ce qui ne va pas ici? J'ai vérifié mais je n'arrive pas à trouver ce qui doit être donné quel type d'autorisation.

Je vous remercie.

julio
la source

Réponses:

27

Je l'ai fait fonctionner.

L'utilisateur php l'était www-datamais l'utilisateur nginx l'était nginx.

Vérifiez php ici: /etc/php/7.0/fpm/pool.d/www.conf

listen.owner = www-data
listen.group = www-data
listen.mode = 0660

L'utilisateur Nginx était à /etc/nginx/nginx.conf

Cela m'a guidé: /programming/23443398/nginx-error-connect-to-php5-fpm-sock-failed-13-permission-denied

julio
la source
8
Vous pouvez changer nginx pour utiliser l'utilisateur www-data , ou, comme je l'ai fait, ajouter l' utilisateur nginx au groupe www-data en utilisantsudo usermod -a -G www-data nginx
chech
6

J'ai résolu le même problème en suivant les étapes suivantes.

Ouvrez vos fichiers www.conf (Exemple: sudo nano /etc/php-fpm.d/www.conf) Enfin, recherchez les lignes qui définissent listen.owner et listen.group et modifiez leurs valeurs de "personne" à "nginx ":

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Enfin, recherchez les lignes qui définissent l'utilisateur et le groupe et modifiez leurs valeurs de "apache" à "nginx":

user = nginx
group = nginx

Redémarrez php-fpm (redémarrage du service sudo php-fpm)

Nanhe Kumar
la source
7
listen.mode = 0666 - Il s'agit d'une vulerability de sécurité massive et expose toutes les données du socket à tous les utilisateurs.
NotoriousPyro
2
vim /etc/php-fpm.d/www.conf
changer de cette façon
; listen.owner = root
; listen.group = root
; listen.owner = personne
; listen.group = personne

listen.owner = nginx
listen.group = nginx 

redémarrage php-fpm du service
redémarrage du service nginx

CentOS version 6.9 (Final)

Gabo Ram
la source
2
Bienvenue sur le site! Il s'agit d'un extrait de configuration inexpliqué, je ne vois pas comment cela répondrait à la question.
peterh