php-fpm假死,巡检502错误并重启php-fpm服务

报错问题一般如下两点

1、php-fpm相关配置问题

2、资源耗尽问题

在此

编写如下脚本进行巡检,当有问题自动检查并重启php-fpm假死状态释放资源

# vim php-fpm_restart.sh

#!/bin/sh

#变量初始化

process="php-fpm"

startservice="systemctl start php-fpm.service"

down=0

#判断语句

while true

do

#获取http状态码

code=$(curl -H "Host:www.jiangjj.com" -m 5 -L -s -w %{http_code} http://127.0.0.1 -o /dev/null)

#判断状态码返回000或大于等于500时,计数故障到down变量

if [ $code -eq 000 -o $code -ge 500 ];then

((down++));

else

break

fi

#等待5s

sleep 5

#判断是否检查三次都标记为故障

if [ $down -ge 3 ];then

if [ "$(find /tmp/${process}_restart -mmin -3)" == ""];then

#获取进程名对应的所有pid

pids=$(ps -aux | grep ${process} | grep -v "grep" | awk '{print $2}')

#依次对所有pid执行kill命令

for jiangjj in $pids;do

kill -9 $jiangjj

kill -9 $jiangjj

done

#kill完pid后启动服务

$startservice

echo "$(date) Return code $code,${process} had been restarted" >> /tmp/${process}_restart

else

echo "$(date) ${process} not yet recobery,As it hsd been restarted in 2 minutes.so this time ignore."

fi

break

fi

done

#授权

# chmod u+x php-fpm_restart.sh

#执行crontab定时任务即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值