Nginx

使用 PHP7 的 fastcgi_pass 權限被拒絕

  • July 17, 2021

我正在使用 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"

它說Permission Denied。這裡有什麼問題?我已經檢查過了,但我似乎找不到需要給予什麼樣的許可。

謝謝你。

我讓它工作了。

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

我通過以下步驟解決了同樣的問題。

打開您的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 service php-fpm restart)

引用自:https://serverfault.com/questions/777994