首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拒绝使用fastcgi_pass使用PHP7的权限

拒绝使用fastcgi_pass使用PHP7的权限
EN

Server Fault用户
提问于 2016-05-20 12:28:52
回答 4查看 70.8K关注 0票数 28

我用PHP7.0运行LEMP。

我的服务器区里有这个

代码语言:javascript
复制
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

但是当我打开这个网站时,它会返回一个502坏网关。下面是错误日志。

代码语言:javascript
复制
*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"

上面说拒绝了许可。这里怎么了?我已经查过了,但我似乎找不到需要得到什么样的许可。

谢谢。

EN

回答 4

Server Fault用户

回答已采纳

发布于 2016-05-20 12:52:28

我让它起作用了。

php用户是www-data,而nginx用户是nginx

在这里查看php :/etc/php/7.0/fpm/info.gov.hk.d/www.conf

代码语言:javascript
复制
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

票数 40
EN

Server Fault用户

发布于 2017-03-08 16:52:00

我通过采取以下步骤解决了同样的问题。

打开您的www.conf文件(例如: sudo /etc/php-fpm.d/www.conf)最后,找到设置listen.owner和listen.group的行,并将它们的值从“任何人”更改为"nginx":

代码语言:javascript
复制
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

最后,查找设置用户和组的行,并将其值从"apache“更改为"nginx":

代码语言:javascript
复制
user = nginx
group = nginx

重新启动php-fpm (sudo service php-fpm重新启动)

票数 8
EN

Server Fault用户

发布于 2020-11-24 18:39:06

请注意(至少在centos 8中),您将listen.owner和其他东西分配给它的用户必须在与用户相同的池中,例如,假设我是foo用户

代码语言:javascript
复制
[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

我不知道是否有一个全球游泳池,但经过几个小时的搜索,我终于做到了。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/777994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档