我在这里设置了一个类似于教程的系统。
我有nginx连接到php5-fpm套接字的问题,但从我可以告诉在套接字上的权限是正确的…你能帮我一下吗?
2011/04/14 15:31:24 [暴击] 13147#0:* 1连接()到unix:/var/run/php5-fpm.socket失败(2:没有这样的文件或目录)客户端:74.129。***。***,server:app.mydomain.com,请求:“GET /phpinfo.php HTTP / 1.1”,上游:“fastcgi:// unix:/ var / run / php5-fpm .socket:“,主机:”app.mydomain.com“ root @ app0:/#ls -l /var/run/php5-fpm.socket srw-rw-rw- 1 www-data www-data 0四月14 15:51 /var/run/php5-fpm.socket root @ app0:/#ps aux | grep fpm 根13315 0.0 1.9 168276 4948? Ss 15:51 0:00 / usr / sbin / php5 -fpm --fpm-config /etc/php5/fpm/main.conf www-data 13316 0.0 2.1 168672 5492? S 15:51 0:00 / usr / sbin / php5 -fpm --fpm-config /etc/php5/fpm/main.conf root @ app0:/#ps aux | grep nginx 根13341 0.0 0.4 33200 1036? Ss 15:52 0:00 nginx:主进程/ usr / local / nginx / sbin / nginx -c /etc/nginx/nginx.conf www-data 13342 0.0 0.7 34008 1880? S 15:52 0:00 nginx:工作进程 www-data 13344 0.0 0.6 33680 1628? S 15:52 0:00 nginx:工作进程
我已经对您提供的configuration进行了一些自定义,但大体上是相同的。 想build议一个疑难解答途径?
这是很多教程省略的问题。 PHP用户应该是套接字的所有者。 所以你想确保
chown www-data:www-data /var/run/php5-fpm.socket
我不知道究竟是什么原因造成的,可能是PHP代码的一些变化,但我find了解决这个问题的方法:
1)以root用户身份打开池configuration,位于/etc/php5/fpm/pool.d/www.conf
2)添加以下行:
listen.owner = www-data listen.group = www-data 以下是所有configuration参数的完整文档 。
3)重新启动PHP FPM: sudo service php5-fpm restart
它应该用适当的用户和组重新创build套接字文件:
ls -lah / var / run / | grep php : -rw-r--r-- 1 root root 4 Jun 24 18:19 php5-fpm.pid srw-rw---- 1 www-data www-data 0 Jun 24 18:19 php5-fpm.sock
我希望这会有所帮助! 干杯!