网上有很多方法了:增加 php-cgi 进程 增加时间 等等 试了很多都没法完全杜绝 502 和 504 的发生,于是就想让服务器自动检测 php 是否运行正常,若不正常重启之,这样就可以在 php 出现 502 等情况时尽快恢复正常。完全杜绝的方法还在摸索... 首先新建一个
check.php
文件放入网站根目录:
<?php echo 'All Right';
然后 编写脚本 内容如下。此脚本并无判断是否是 502 还是 504 还是其他,只要 http 请求返回值不是 200,就重启好了.
vim restart-php-fpm.sh
名字自己写,路径自己定.
#!/bin/sh wget http://notech.net/check.php --spider re=$? if [ $re = "1" ]; then echo "##" "502" $(date +"%y-%m-%d %H:%M:%S") "restart php-fpm " | mail -s "Critical Info" chenchen@mengxiang.org /etc/init.d/php-fpm restart echo "restart php-fpm" fi
然后是最重要的,就是将脚本放在crontab里
chmod 755 restart-php-fpm.sh crontab -e */1 * * * * (/path/restart-php-fpm.sh >> /path/restart-php-fpm.log) * * */7 * * rm -rf /path/restart-php-fpm.log
Recent Comments