当前位置:论坛首页 > Linux面板 > 求助

【待反馈】php-fpm一段时间后自动重启,页面404

发表在 Linux面板2022-2-22 15:08 [复制链接] 14 3007

问题:php-fpm隔一段时间就会重启,感觉是没办法平滑重启强制kill进程,导致应用的服务页面隔段时间就会404,过几分钟就恢复了。

服务器状态
看了负载和内存正常,php的访问请求数比较高,除了一些请求超时没有其他报异常的情况。
服务器4核16G,改了并发的动态配置最高到500,没什么太大的作用。但是改成静态模式,感觉页面出现404的次数会少一些。
有个状况是在面板上没办法手动重启php,必须要删除php-cgi-71.sock之后,才可以启动。现在就是php运行一段时间之后,就没办法平滑重启。

有没有大神遇到过,有什么优化的思路?

WechatIMG1901.png
使用道具 举报 只看该作者 回复
发表于 2022-2-22 15:12:18 | 显示全部楼层
本帖最后由 marcus56 于 2022-2-22 15:27 编辑

服务器上同时安装的php7.2,也是运行一段时间后就不能平滑重启在面板上更新了nginx,php的版本,然后把超时时间设置更长,也没有什么效果。
使用道具 举报 回复 支持 反对
发表于 2022-2-22 15:27:34 | 显示全部楼层
您好,看这个报错好像是已经没有这个进程了,但是还是存在php-cgi-71.sock
文件,有无安装系统加固或者其他防护,监测到php进程过高给误杀了。

同时看下FPM日志
使用道具 举报 回复 支持 反对
发表于 2022-2-22 15:35:06 | 显示全部楼层
本帖最后由 marcus56 于 2022-2-22 15:46 编辑
谢花郎 发表于 2022-2-22 15:27
您好,看这个报错好像是已经没有这个进程了,但是还是存在php-cgi-71.sock
文件,有无安装系统加固或者其他 ...

php的进程应该在的,应用页面平时都正常展现的,就是隔好几个小时php-fpm会被强制重启,因为是强制杀的进程,导致页面会404几分钟,之后就自动恢复正常。系统加固或者其他防护指的是什么软件呢?宝塔上装过PHP守护 1.2
fpm有这些提示(并发目前设置的动态300)

[22-Feb-2022 13:48:55] NOTICE: fpm is running, pid 5016
[22-Feb-2022 13:48:55] NOTICE: ready to handle connections
[22-Feb-2022 13:50:01] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 28 idle, and 40 total children
[22-Feb-2022 13:52:35] WARNING: [pool www] child 5128, script '*********' (request: "GET ********") executing too slow (33.946982 sec), logging
[22-Feb-2022 13:52:35] NOTICE: child 5128 stopped for tracing
[22-Feb-2022 13:52:35] NOTICE: about to trace 5128
[22-Feb-2022 13:52:35] NOTICE: finished trace of 5128[22-Feb-2022 13:53:54] NOTICE: Reloading in progress ...
[22-Feb-2022 13:53:54] NOTICE: reloading: execvp("/www/server/php/71/sbin/php-fpm", {"/www/server/php/71/sbin/php-fpm", "--daemonize", "--fpm-config", "/www/server/php/71/etc/php-fpm.conf", "--pid", "/www/server/php/71/var/run/php-fpm.pid"})
[22-Feb-2022 13:53:54] NOTICE: using inherited socket fd=32, "/tmp/php-cgi-71.sock"
[22-Feb-2022 13:53:54] NOTICE: using inherited socket fd=32, "/tmp/php-cgi-71.sock"
[22-Feb-2022 13:53:54] NOTICE: fpm is running, pid 5501
[22-Feb-2022 13:53:54] NOTICE: ready to handle connections



使用道具 举报 回复 支持 反对
发表于 2022-2-22 16:12:01 | 显示全部楼层
marcus56 发表于 2022-2-22 15:35
php的进程应该在的,应用页面平时都正常展现的,就是隔好几个小时php-fpm会被强制重启,因为是强制杀的进 ...

您好,提供的日志内有提示warning错误,调整优化下pm.max_spare_servers
使用道具 举报 回复 支持 反对
发表于 2022-2-22 16:23:48 | 显示全部楼层
谢花郎 发表于 2022-2-22 16:12
您好,提供的日志内有提示warning错误,调整优化下pm.max_spare_servers

您好啊,感谢谢花郎回复,如果pm = static时,pm.max_spare_servers是不是优化了也没用?目前并发静态也会有404的情况,但是次数少一些
使用道具 举报 回复 支持 反对
发表于 2022-2-22 16:26:24 | 显示全部楼层
marcus56 发表于 2022-2-22 16:23
您好啊,感谢谢花郎回复,如果pm = static时,pm.max_spare_servers是不是优化了也没用?目前并发静态也会 ...

可以先尝试优化,并设置到动态模式看下是否会好一些
使用道具 举报 回复 支持 反对
发表于 2022-2-22 16:50:32 | 显示全部楼层
谢花郎 发表于 2022-2-22 16:26
可以先尝试优化,并设置到动态模式看下是否会好一些

您好,感谢回复啊。
看了之前老版本的并发300配置是
pm = dynamic
pm.status_path = /phpfpm_71_status
pm.max_children = 300
pm.start_servers = 30
pm.min_spare_servers = 30
pm.max_spare_servers = 180

看了最新版宝塔的,16G内存的并发方案推荐:
pm = dynamic
pm.status_path = /phpfpm_71_status
pm.max_children = 200
pm.start_servers = 15
pm.min_spare_servers = 15
pm.max_spare_servers = 50
改成这样试一下可以么?
使用道具 举报 回复 支持 反对
发表于 2022-2-22 17:05:06 | 显示全部楼层
marcus56 发表于 2022-2-22 16:50
您好,感谢回复啊。
看了之前老版本的并发300配置是
pm = dynamic

可以,然后观察下吧
使用道具 举报 回复 支持 反对
发表于 2022-2-22 18:34:25 | 显示全部楼层
谢花郎 发表于 2022-2-22 17:05
可以,然后观察下吧

好的,谢谢,先观察看看
使用道具 举报 回复 支持 反对
发表于 2022-2-23 17:57:15 | 显示全部楼层
marcus56 发表于 2022-2-22 18:34
好的,谢谢,先观察看看

有转好吗?情况如何呢?
使用道具 举报 回复 支持 反对
发表于 2022-2-24 13:45:40 | 显示全部楼层
谢花郎 发表于 2022-2-23 17:57
有转好吗?情况如何呢?

感谢回复啊。目前正常,难道是之前老版本的面板并发配置不合适?
使用道具 举报 回复 支持 反对
发表于 2022-2-24 14:47:19 | 显示全部楼层
marcus56 发表于 2022-2-24 13:45
感谢回复啊。目前正常,难道是之前老版本的面板并发配置不合适?

不是,可能是 你设置了静态模式的问题,以及最大空闲进程数的问题导致的
使用道具 举报 回复 支持 反对
发表于 2022-2-24 15:23:24 | 显示全部楼层
谢花郎 发表于 2022-2-24 14:47
不是,可能是 你设置了静态模式的问题,以及最大空闲进程数的问题导致的 ...

嗯谢谢,还有个情况就是php只要运行一段时间就没办法平滑重启,会提示:
/etc/init.d/php-fpm-71: line 142: kill: (29728) - No such process

只能手动kill 进程或者删除php-cgi-71.sock,麻烦问下有什么修复的思路?
使用道具 举报 回复 支持 反对
发表于 2022-2-24 17:14:55 | 显示全部楼层
marcus56 发表于 2022-2-24 15:23
嗯谢谢,还有个情况就是php只要运行一段时间就没办法平滑重启,会提示:
/etc/init.d/php-fpm-71: line 1 ...

执行任务加个重启命令试试或者加个删除php-cgi-71.sock文件重新启动
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表