欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php-fpm经常出现502解决方法

程序员文章站 2022-07-04 12:01:23
最近nginx经常502,解决502最好的办法就是重启php-fpm。手动去重启还是比较麻烦的事情,最好的就是扔到shell里去。...

最近nginx经常502,解决502最好的办法就是重启php-fpm。

手动去重启还是比较麻烦的事情,最好的就是扔到shell里去。

vim restart-php-fpm.sh

#!/bin/sh
service='php-fpm'

#if ps ax | grep -v grep | grep $service > /dev/null
if netstat -anp | grep 9000 > /dev/null
then
    echo $service service running, everything is fine
else
    echo $service is not running
    service php-fpm start
fi
本地测试了一下,可行,扔到服务器上去,结果发现502的时候并未php-fpm没有进程,而是php-fpm僵死。
所以走了另外一种方案:

vim restart-php-fpm.sh

#!/bin/bash
my_url=https://www.webyang.net
result='curl -i $my_url | grep http/1.1 502\'
 
if [ -n $result ]; then
#如果502则会执行这里的内容,随便加或改
killall -9 php-cgi
service php-fpm restart
fi
这样的话,还是手动的,如果需要自动,自己添加到crontab里去。
chmod 755 restart-php-fpm.sh
运行crontab -e
设置restart-php-fpm.sh 每一分钟自动执行一次(时间可以按自己要求调)
*/1 * * * * /home/restart-php-fpm.sh
查看设置成功还是失败
crontab -l

或者写一个shell死循环,隔一个时间段去执行即可。