nginx:无法连接到php-fpm socket

时间:2016-01-11 00:15:15

标签: php ubuntu nginx permissions

我在我的Ubuntu计算机上的nginx日志中看到以下错误:

[crit] 14697#0: *1 connect() to unix:/home/php/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: x.y.z.w, server: mydomain.org, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/home/php/run/php-fpm.sock:", host: "mydomain.org"

以下是套接字的权限:

$ ll /home/php/run
total 8.0K
drwxr-xr-x  2 php php 4.0K Jan 10 18:56 .
drwxr-xr-x 12 php php 4.0K Jan  9 17:33 ..
srw-rw----  1 php php    0 Jan 10 18:56 php-fpm.sock

" nginx"进程以nginx用户身份运行:

$ ps aux | grep nginx | grep -v grep
root     14694  0.0  0.3  88732  1784 ?        Ss   19:08   0:00 nginx: master process /home/nginx/sbin/nginx -c /home/nginx/conf/nginx.conf
nginx    14697  0.0  1.0  88732  5112 ?        S    19:08   0:00 nginx: worker process

我将nginx用户添加到" php"组:

$ groups nginx
nginx : php

我尝试重新启动nginx和php-fpm,但我遇到了同样的失败。我很困惑,因为套接字具有660的权限,它应该给php组的成员提供读写权限。我也很困惑,因为该文件看似可写;如果我运行su - nginx然后运行

$ test -w /home/php/run/php-fpm.sock ; echo $?
0

这似乎表明nginx用户可以写入套接字。为什么nginx不能写入套接字?我需要哪些其他信息才能解决这个问题?

0 个答案:

没有答案