php-fpm与nginx通信connect() to unix:/tmp/php-fpm.sock failed (13: Permission denied) 的解决方法

nginx返回404,log文件错误信息如下

2018/12/30 06:32:32 [crit] 9418#9418: *5 connect() to unix:/tmp/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /home.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-fpm.sock:", host: "xxx.xxx.xxx.xxx"
原因实际上就是nginx没有读写/tmp/php-fpm.sock的权限

(1)nginx与php-fpm要以同一个group,比如都是nginx组,同一个用户比如都是nginx:nginx运行

可以通过命令查看

php-fpm与nginx通信connect() to unix:/tmp/php-fpm.sock failed (13: Permission denied) 的解决方法_第1张图片

(2)查看/tmp/php-fpm.sock权限

$ ls -l /tmp/php-fpm.sock 
srw-rw---- 1 root root 0 Dec 30 06:32 /tmp/php-fpm.sock

修改vim /etc/php-fpm.d/www.conf, 将user和group修改为与nginx同一用户和组

将默认的listen.mode = 0660取消注释,改为0666,重启php-fpm

php-fpm与nginx通信connect() to unix:/tmp/php-fpm.sock failed (13: Permission denied) 的解决方法_第2张图片

重启之后php-fpm.sock权限如下

$ ls /tmp/php-fpm.sock  -l
srw-rw-rw- 1 root root 0 Dec 30 06:44 /tmp/php-fpm.sock

 

你可能感兴趣的:(linux)