web-dev-qa-db-ja.com

PHP7を使用したfastcgi_passの権限が拒否されました

LEMPをPHP7.0で実行しています。

私はこれを私のサーバーブロックに持っています

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

しかし、サイトを開くと、502 Bad Gatewayが返されます。以下はエラーログです。

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

Permission Deniedと表示されています。ここで何が問題になっていますか?確認しましたが、どのような許可を与える必要があるのか​​わかりません。

ありがとうございました。

21
julio

うまくいきました。

Phpユーザーはwww-dataですが、nginxユーザーはnginxでした。

ここでphpを確認してください:/etc/php/7.0/fpm/pool.d/www.conf

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

Nginxユーザーは/etc/nginx/nginx.conf

これは私を導きました: https://stackoverflow.com/questions/23443398/nginx-error-connect-to-php5-fpm-sock-failed-13-permission-denied

30
julio

同じ問題を次の手順で解決しました。

www.confファイルを開きます(例:Sudo nano /etc/php-fpm.d/www.conf)最後に、listen.ownerとlisten.groupを設定し、それらの値を変更する行を見つけます「nobody」から「nginx」へ:

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

最後に、ユーザーとグループを設定し、それらの値を「Apache」から「nginx」に変更する行を見つけます。

user = nginx
group = nginx

Php-fpmを再起動します(Sudoサービスphp-fpm再起動)

6
Nanhe Kumar
 vim /etc/php-fpm.d/www.conf
このように変更
; listen.owner = root 
; listen.group = root 
; listen.owner = nobody 
; listen.group = nobody 
 
listen.owner = nginx 
 listen.group = nginx 
 
 service php-fpm restart 
 service nginx restart 
 
 CentOS release 6.9(Final)
 
2
Gabo Ram