需要确保系统已安装curl,centos可以执行:yum install curl,debian/ubuntu可以执行:apt-get install curl
#!/bin/bash
# author: neal
# website: http://www.baidu.org
CheckURL="https://www.baidu.com"
STATUS_CODE=`curl -o /dev/null -m 10 --connect-timeout 10 -s -w %{http_code} $CheckURL`
#echo "$CheckURL Status Code:\t$STATUS_CODE"
if [ "$STATUS_CODE" = "502" ]; then
/etc/init.d/php-fpm restart
fi
设置脚本权限
chmod +x /root/502.sh
用crontab 一分钟执行一次。上面的地址改成你的地址,如果该页面是静态,需换成以php的页面地址。
crontab -e
*/1 * * * * /root/502.sh
原理就是用curl获取HTTP头,发现502状态码就执行重启php-fpm的命令。