我用PHP7.0运行LEMP。
我的服务器区里有这个
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;但是当我打开这个网站时,它会返回一个502坏网关。下面是错误日志。
*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"上面说拒绝了许可。这里怎么了?我已经查过了,但我似乎找不到需要得到什么样的许可。
谢谢。
发布于 2016-05-20 12:52:28
我让它起作用了。
php用户是www-data,而nginx用户是nginx。
在这里查看php :/etc/php/7.0/fpm/info.gov.hk.d/www.conf
listen.owner = www-data
listen.group = www-data
listen.mode = 0660Nginx用户在/etc/nginx/nginx.conf
发布于 2017-03-08 16:52:00
我通过采取以下步骤解决了同样的问题。
打开您的www.conf文件(例如: sudo /etc/php-fpm.d/www.conf)最后,找到设置listen.owner和listen.group的行,并将它们的值从“任何人”更改为"nginx":
listen.owner = nginx
listen.group = nginx
listen.mode = 0660最后,查找设置用户和组的行,并将其值从"apache“更改为"nginx":
user = nginx
group = nginx重新启动php-fpm (sudo service php-fpm重新启动)
发布于 2020-11-24 18:39:06
请注意(至少在centos 8中),您将listen.owner和其他东西分配给它的用户必须在与用户相同的池中,例如,假设我是foo用户
[www] # WRONG | IN MY CASE I WAS UNDER www POOL SO IT WASNT WORKING FOR ME.
[foo] # CORRECT | THE POOL AND THE USER MATCHES.
listen.owner = foo
listen.group = foo
listen.mode = 0660
user = foo
group = foo我不知道是否有一个全球游泳池,但经过几个小时的搜索,我终于做到了。
https://serverfault.com/questions/777994
复制相似问题