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运行
可以通过命令查看
(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.sock权限如下
$ ls /tmp/php-fpm.sock -l
srw-rw-rw- 1 root root 0 Dec 30 06:44 /tmp/php-fpm.sock