为了提高性能,之前把博客更换到了HHVM平台,性能确实提高了不少,但是偶尔会遇到502错误,重启HHVM之后就修复,目测是HHVM崩溃了。在网上找了一下,大多数处理思路都是建一个计划任务,在HHVM崩溃的时候重启,由于Linux Cron Job执行的最小时间单位是分,如果HHVM崩溃,最长的宕机时间不会超过一分钟,对普通博客而言,在可以接受的范围内,因此这个方法颇受欢迎。现在就将我尝试过的几种方法分享和大家分享一下:
网站报502错误的方法集锦
方法一:监测进程状态重启HHVM
保存以下shell脚本,并赋予执行权限。我先保存为/etc/hhvm/hhvm_dog.sh
#! /bin/bash
PID="`cat /var/run/hhvm/pid`"
if [ "$PID" == "" ]; then
service hhvm start
if [ "`ps ax -o pid | grep $PID`" == "" ]; then
service hhvm restart
fi
fi然后在crontab中每分钟运行一次这个脚本:
编辑/etc/crontab,在最后增加一行:* * * * * root /etc/hhvm/hhvm_dog.sh
保存,退出,重启cron服务:service cron restart
方法二:最简单方法
这个方法的思路和第一个方法一样,只是代码比较简洁,一步到位。看不懂代码没事,只需要把下面这句代码添加到/etc/crontab最后就好。
* * * * * root [ -z "`ps -ef | grep hhvm | grep -v grep`" ] && service hhvm restart
方法三: 最佳方案
修改fastcgi缓冲区大小的方式,周良博客使用的是Nginx作为web服务器,亲测有效。 打开nginx配置文件/etc/nginx/nginx.conf 在http{} 中添加一下两行:
fastcgi_buffers 8 16k; fastcig_buffers_size 32k;
保存退出,重启nginx:
service nginx restart
这个方法几乎可以完全避免HHVM崩溃,可以说前面的方法是治标,这个方法是治本。是目前我认为最完美的一个解决方案。 当然,还有其他的一些方法,例如写一个脚本,不断通过curl查看首页状态,如果返回502就重启HHVM。有兴趣的朋友可以自己尝试一下。 补充说明:以上方法仅适用于因HHVM崩溃导致的服务器502错误,适用PHP,或者在安装HHVM之前已经安装PHP并且二者冲突(通常不会)导致的502用这几个方法是无效的。
荒野乱斗国际版 (BrawlStars)最新版本v56.274
下载一波超人内置修改器菜单版 安卓版v1.0.2
下载敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载继承了一座戏园子无限声望铜钱版 内置菜单最新版v1.7
继承了一座戏园子折相思版是游戏的破解版本,在该版本中为玩家提
山河半世橙光清软金手指版 无限鲜花v3.24
山河半世是一款超级好玩的橙光恋爱游戏,在游戏中玩家们需要扮演
蓬莱手游折相思版 安卓版v1.0.0
蓬莱免广告版是游戏的修改版本,在该版本中为玩家去除了广告,玩
当红影后橙光游戏破解版2025 最新版v1.0
当红影后橙光破解版是一款超级好玩的娱乐圈题材的橙光游戏,在这
忽然成了万人迷清软完结版 无限鲜花版v12.15
忽然成了万人迷破解版是一款非常好玩的男性向橙光游戏,在有一天