当我在 nginx.conf 中将用户设置为 root root 时:
user root root;
然后我的网站正在运行,但是当我将其设置为 nginx nginx 时,我在日志中收到错误:
connect() 到 unix:/var/run/php-fpm/php-fpm.sock 失败(13:权限被拒绝)
我正在使用 PHP-FPM 5.5,并且我确保文件夹所有者是 nginx + 执行权限已启用。
我错过了什么..?谢谢
- - - - - - - - -编辑:
快速编辑当手动更改 php-fpm.sock 权限时它可以工作。如何使用正确的权限启动 php-hpm?
答案1
最近发现了两个与此问题相关的错误:
我个人在 FreeBSD 上使用 php 版本 5.4.30 时遇到了第一个问题。为了解决这个问题,我应用了两个可用的参数来指定套接字的所有者,如下所示:
[default]
listen = /tmp/php-fastcgi.sock
user = www
group = www
listen.owner = www
listen.group = www
listen.mode = 0660
答案2
查看官方文档. 您可以使用listen.owner
或user
来指定 unix 套接字的所有者。
聆听.所有者细绳
如果使用 unix 套接字,请设置其权限。在 Linux 中,必须设置读/写权限才能允许来自 Web 服务器的连接。许多 BSD 派生系统允许连接,而不管权限如何。默认值:用户和组设置为运行用户,模式设置为 0666。
聆听小组细绳
参见 listen.owner。
用户细绳
FPM 进程的 Unix 用户。此选项是必需的。
团体细绳
FPM 进程的 Unix 组。如果未设置,则使用默认用户组。