Erlaubnis verweigert für fastcgi_pass mit PHP7


18

Ich verwende LEMP mit PHP7.0.

Ich habe das in meinem Serverblock

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

Wenn ich die Site öffne, wird ein 502 Bad Gateway zurückgegeben. Unten ist das Fehlerprotokoll.

*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"

Es heißt, dass die Erlaubnis verweigert wurde . Was ist hier los? Ich habe nachgesehen, kann aber anscheinend nicht herausfinden, welche Art von Erlaubnis erteilt werden muss.

Vielen Dank.

Antworten:


26

Ich habe es geschafft.

Der PHP-Benutzer war www-dataaber der Nginx-Benutzer war nginx.

Überprüfen Sie PHP hier: /etc/php/7.0/fpm/pool.d/www.conf

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

Nginx-Benutzer war bei /etc/nginx/nginx.conf

Dies hat mich geleitet: /programming/23443398/nginx-error-connect-to-php5-fpm-sock-failed-13-permission-denied


8
Sie können nginx ändern, um den Benutzer " www-data" zu verwenden , oder, wie ich es getan habe, den Benutzer " nginx" zur Gruppe " www-data" hinzufügen, indem Siesudo usermod -a -G www-data nginx
chech

5

Ich habe das gleiche Problem behoben, indem ich die folgenden Schritte ausgeführt habe.

Öffnen Sie Ihre www.conf- Dateien (Beispiel: sudo nano /etc/php-fpm.d/www.conf). Suchen Sie zuletzt die Zeilen, die listen.owner und listen.group festlegen, und ändern Sie ihre Werte von "nobody" in "nginx" ":

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

Suchen Sie zuletzt die Zeilen, die den Benutzer und die Gruppe festlegen, und ändern Sie deren Werte von "apache" in "nginx":

user = nginx
group = nginx

Php-fpm neu starten (sudo service php-fpm restart)


7
listen.mode = 0666 - Dies ist eine massive Sicherheitslücke, durch die alle Daten im Socket allen Benutzern zugänglich gemacht werden.
NotoriousPyro

2
vim /etc/php-fpm.d/www.conf
auf diese Weise ändern
; listen.owner = root
; listen.group = root
; listen.owner = nobody
; listen.group = nobody

listen.owner = nginx
listen.group = nginx 

Dienst php-fpm Neustart
Service Nginx Neustart

CentOS Release 6.9 (endgültig)


2
Willkommen auf der Seite! Es ist ein unerklärliches Konfigurations-Snippet, ich kann nicht sehen, wie es die Frage beantworten würde.
peterh - Wiedereinsetzung von Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.