PHP7を使用したfastcgi_passの許可が拒否されました


18

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

サーバーブロックにこれがあります

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"

許可が拒否されたと表示さます。ここで何が問題なのですか?私はチェックしましたが、どのような許可を与える必要があるかを見つけることができないようです。

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

回答:


26

うまくいきました。

phpユーザーはwww-datanginxユーザーでしたが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


8
あなたは、使用にnginxのを変更することができますWWWデータの利用者、または、私が行ったように、追加のnginxにユーザーをWWW-データ使用してグループsudo usermod -a -G www-data nginx
chech

6

次の手順を実行して、同じ問題を修正しました。

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 restart)


7
listen.mode = 0666-これは大規模なセキュリティ脆弱性であり、ソケット内のすべてのデータをすべてのユーザーに公開します。
NotoriousPyro

2
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 

サービスphp-fpm restart
サービスnginxの再起動

CentOSリリース6.9(最終)


2
サイトへようこそ!それは説明されていない設定スニペットであり、質問にどのように答えるかわかりません。
peterh -復活モニカ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.