php-fpm配置unixsock引发问题
今天把博客从原来的阿里云迁移出来了,在新环境搭建环境时,nginx和php-fpm都已经配好的时候(其实还是有问题的),访问首页提示403错误。nginx和fpm的用户都配置为www-data,按道理说同一用户不应该没有访问文件的权限。以前nginx和fpm一直都是使用socket通信的方式,第一次使用unixsock方式配置,有点不知所措。
查看nginx的错误日志,发现最新的错误日志信息是类似这样的:
connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream
也就说出问题的地方是/var/run/php-fpm.sock文件,不是站点目录下文件的权限。在google上面搜索了一下,在stackoverflow上面发现一篇“nginx error connect to php5-fpm.sock failed (13: Permission denied)”,也是unixsock方式配置nginx和php-fpm的问题。问题里面给说的方案是需要设置一下unixsock中listen.user、listen.group、listen.mode这几个参数,按照默认的值将其前面的注释去掉即可,类似如下。
listen.owner = www-data listen.group = www-data listen.mode = 0660
然后重启php-fpm,重新访问页面,一切正常了。
近期评论