php5-fpm 挂了, 502 Bad Gateway ~ /var/run/里的 php5-fpm.sock 消失了
- 0次
- 2021-05-25 15:10:07
- idczone
又是烦人的 502 Bad Gateway ,
根据日志发现先是报错:
connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream...... upstream: "fastcgi://unix:/var/run/php5-fpm.sock:"
ls /var/run/ 发现 php5-fpm.sock 这个文件不见了,那么就就重新建一个 php5-fpm.sock ,并赋予 660 权限,并 chown -R www-data:www-data php5-fpm.sock 。
这里不知道/var/run/里的 php5-fpm.sock 为抗投诉服务器什么会不见了?
这下再看日志,却报错为:
unix:/var/run/php5-fpm.sock failed (111: Connection refused) while connecting to upstream, ......: "fastcgi://unix:/var/run/php5-fpm.sock:",
这个试了很多方法都还是不能搞定,哪位朋友有遇到过这种情况的么?
求分享个解决办法,谢谢!
醉了,你以为建一个名字一样的文件就可以骗过去了,重启 fpm
今日最佳…
不见了咱就建一个!多建几个多好~
今日最佳
自己创建这个文件是错误的做法
正确的做法,配置 /etc/php-fpm.d/www.conf
listen = /dev/shm/fpm-cgi.sock
listen.backlog = 65535
listen.owner = nginx
listen.group = apache
listen.mode = 0660
这样他就会自己创建这个文件,并且固定权限。
而且 shm 目录是内存目录,比 var 快的不是一点半点
更重要是 listen.backlog = 65535 ,最大连接数,当然也可以配置上-1 ,表示无限
sock 文件只是一个符号,放在任何地方都一样,放 shm 没任何意义。
systemctl restart php5-fpm.service
会自动重建 sock 文件
为什么我要笑