Nginx虽然是小内存VPS搭建Web服务的利器,但是最让人苦恼的恐怕就是经常出现的502和504等一系列的错误了,虽然网络上也有不少解决的方法(比如增加php时间等),但面临很多状况下,“重启试试”才是最快解决问题的方法。今天微魔和大家分享的就是来自网友的Nginx 502/504自动重启php-fpm的脚本(原文)。基本的思路就是通过crontab运行脚本文件,实时监控网站(x.php文件),若未返回正常值(200),则重新启动php-fpm服务(并写入日志,以邮件方式告知),具体操作方法如下,
1. 在根目录新建x.php 文件放入网站根目录:
<?php echo 'vmvps.com'; ?>
2. 新建监控脚本vim restart-php-fpm.sh(不要在web目录下新建),然后 编写脚本内容如下(注:此脚本并无判断是否是 502 还是 504 还是其他,只要 http 请求返回值不是 200,就重启!)
vim restart-php-fpm.sh #!/bin/sh wget http://vmvps.com/x.php --spider re=$? if [ $re = "1" ]; then echo "##" "502" $(date +"%y-%m-%d %H:%M:%S") "restart php-fpm " | mail -s "Critical Info" admin@vmvps.com /etc/init.d/php-fpm restart echo "restart php-fpm" fi
3. 添加 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
/path/需修改为你对应的路径,,第一行为每分钟运行一次监控脚本并写入日志文件;第二行为每周删除日志文件。
正需要呢,这两天网站天天502.。。
我这里也常年502/504的重灾区,不过这个脚本也不是万能的,遇到cc也是抓瞎
感謝分享~
另外我覺得更新版本也挺有影響的,之前有一個站點用 1..4 比較會這樣,上上禮拜換成 1.10.0,那台就沒發做了。
感谢分享,可能是提升了性能吧
出现502和504自动重启,貌似是个不错的方法,先收藏一下,以后说不定用得着!