php5-fpm 挂了, 502 Bad Gateway ~ /var/run/里的 php5-fpm.sock 消失了

2015-10-04 20:11:10 +08:00
 boro
又是烦人的 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:",

这个试了很多方法都还是不能搞定,哪位朋友有遇到过这种情况的么?

求分享个解决办法,谢谢!
10216 次点击
所在节点    NGINX
28 条回复
yxwzaxns
2015-10-04 20:24:17 +08:00
醉了,你以为建一个名字一样的文件就可以骗过去了,重启 fpm
oott123
2015-10-04 20:26:55 +08:00
今日最佳…
不见了咱就建一个!多建几个多好~
wkdhf233
2015-10-04 20:28:11 +08:00
今日最佳
tntsec
2015-10-04 20:32:36 +08:00
自己创建这个文件是错误的做法
正确的做法,配置 /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 ,表示无限
BOYPT
2015-10-04 21:07:12 +08:00
sock 文件只是一个符号,放在任何地方都一样,放 shm 没任何意义。
loveminds
2015-10-04 21:16:25 +08:00
systemctl restart php5-fpm.service
会自动重建 sock 文件
cevincheung
2015-10-04 21:33:14 +08:00
为什么我要笑😂
boro
2015-10-04 22:37:55 +08:00
@tntsec 我是你这样配置的,我知道这个文件是自动,动态生成的,而且在确定它无法自建的情况,来创建一个。 N 种方法都试了,还是不行。
111111111111
2015-10-04 22:52:44 +08:00
@boro unix socket 出问题 那不妨试试 tcp 端口?
siw
2015-10-04 23:13:27 +08:00
笑了。。。

你也先看看
FPM 有没有
配置是 tcp 还是 sock
boro
2015-10-04 23:36:09 +08:00
@siw tcp 和 sock 都试了
boro
2015-10-05 01:17:20 +08:00
@111111111111 试过,不过问题解决了。
我修改过 php-fpm.conf 里面的一些设置,修改后,解决了。
skylancer
2015-10-05 01:24:30 +08:00
看到自己创建 sock … 请原谅我笑了
其实我建议从 Lighttpd 抓 Swpan-FCGI 用而不是用 PHP-FPM
skydiver
2015-10-05 05:50:24 +08:00
@skylancer 现在还有用 spawn-fcgi 的?那个好久没更新了吧。业界都是用 php-fpm
111111111111
2015-10-05 08:05:20 +08:00
@boro 何不分享一下怎么解决的?后人好有个借鉴
sutking
2015-10-05 09:32:32 +08:00
我特别想知道那东西是为什么神秘消失的???
skylancer
2015-10-05 09:58:25 +08:00
@skydiver 没什么好更新的吧,黑猫白猫能抓老鼠就是好猫

不过我也不怎么喜欢 NginX …
boro
2015-10-05 10:18:01 +08:00
@111111111111
这个根据实际环境的不同而不同不同吧。我修改这两项,解决了我的问题
emergency_restart_threshold = 5
emergency_restart_interval = 2
gzlock
2015-10-05 10:59:35 +08:00
上 docker ,多开 PHP-fpm 镜像容灾
NeoAtlantis
2015-10-05 12:20:29 +08:00
所以说装 PHP 干嘛,直接创建个 socket 名字的文件就好了……同理 MySQL 什么的也可以卸了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/225599

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX