技术解析

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 文件

为什么我要笑
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服