【发布时间】:2016-10-30 13:51:39
【问题描述】:
我的 Nginx error.log 文件中出现以下错误,我需要做些什么来防止这种情况发生?
2016/06/28 09:43:37 [crit] 1631#0: *1 connect() to unix:/run/php/php5.6 fpm.sock 失败(13:权限被拒绝)而 连接上游,客户端:192.168.56.1,服务器:my-vm,请求: “GET / HTTP/1.1”,上游: "fastcgi://unix:/run/php/php5.6-fpm.sock:", $host: "my-vm-1"
Nginx 以 www-data 权限运行。错误信息所引用的文件夹(/run/php/php5.6-fpm.sock)的权限如下:
drwxr-xr-x 20 root root 700 Jun 28 09:45 run
drwxr-xr-x 2 www-data www-data 80 Jun 28 09:44 php
srw-rw---- 1 www-data www-data 0 Jun 28 09:44 php5.6-fpm.sock
PHP (/etc/php/5.6/fpm/pool.d/www.conf) 的用户/组是:
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
nginx.conf 文件没有设置任何 user 值。有人建议将它设置为www-data,但如果我设置它,Nginx 服务将无法启动,因此它被省略了。
【问题讨论】:
-
这里似乎已经存在这个问题:stackoverflow.com/questions/23443398/…
-
一种解决方案是在 nginx 配置中使用 nginx 作为用户,并将用户 nginx 添加到 www-data 组