首页 » nginx » 正文

nginx故障处理

一、更改nginx启动用户为nginx无法访问站点

1、更改站点根目录权限

首先考虑是否是网站根目录没有权限访问
但是经过实际测试发现并不是网站根目录的没有读权限的原因
因为更改nginx启动用户从root到nginx之前能访问站点并且有站点根目录读写权限
chmod 750 -Rf /usr/www
chown -Rf nginx:nginx /usr/www

2、更改php-fpm.sock文件权限

查看nginx错误日志发现提示connect() to unix:/usr/local/php/var/run/php-fpm.sock failed错误
连接php-fpm.sock失败
而整个过程只是更改了nginx的启动用户,从root改为了nginx,所以解决办法是给php-fpm.sock的nginx用户权限
##cd `find / -name php-fpm.sock|awk -F "php-fpm.sock" '{print $1}'`
cd /usr/local/php/var/run/
chmod 200 php-fpm.sock
chown nginx:root php-fpm.sock
更改php-fpm.sock所属组及权限之后站点访问正常,故障原因找到
经测试其实只需要给php-fpm.sock文件w权限即可,或者直接777也行,如果是通过端口的方式与php-fpm进行通信则不会出现这个问题
但是重新启动php-fpm服务之后php-fpm.sock文件权限会发生变更,需要重新修改权限
解决方法一:
更改nginx或者php-fpm启动脚本,在start 项后面增加更改权限一项
解决方法二:
把listen = /usr/local/php/var/run/php-fpm.sock 更改为 listen = 127.0.0.1:9000
重启php-fpm服务

发表评论