在去年中旬的时候我发表了一篇《CentOS 下从源搭建 Nginx / MariaDB / HHVM》,今天发个小更新
今天发的这个小工具就是用来支援不想安装 Supervistor 的,是我基于军哥的 check502.sh 这个小脚本为基础加了一个循环做出来的,源码如下:
#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH while : ;do CheckURL="https://www.zntec.cn/" STATUS_CODE=`curl -o /dev/null -m 10 --connect-timeout 10 -s -w %{http_code} $CheckURL` if [ "$STATUS_CODE" = "502" ]; then pkill hhvm #之所以杀进程是因为我发现 centos 下,hhvm 老是喜欢带上 nginx 哥俩一起卡进程,真 ** pkill nginx /etc/init.d/nginx restart /etc/init.d/hhvm restart fi sleep 3 done
把如上源码保存到文件,例如 /root/chech.sh,保存后记得设定可执行权限(chmod +x /root/check.sh),设定好权限之后我们就可以直接 ./check.sh 运行了,但是如果这样的话、我们断开了终端脚本也就会自动停止。也就是说,如果你想要保持网站不会 502 的话就要一直连着终端并运行这个脚本。
纳尼?!当然不能这样,就算你有空一天到晚连着 。。你也无法保证你那儿会不会断网呀。
所以,我们应当如何使用正确姿势运作此脚本?
使用 screen 或 nohup 吗?是可行的,但是不够合理,因为每次开机都要进入 screen 或者再运作一次 nohup
咱用这样的“笨”脚本,那咱就用笨方法,直接把它加到开机启动里边儿去~
echo "/root/check.sh" >> /etc/rc.local #仅适合 centos,请在运行此命令的时候把 check.sh 的地址改为自己的,ubuntu 请自行搜索 rc.local 的位置
加到开机启动里边儿后,咱们重启机器就可以让他保持在一开机就运作着啦!
重启后,尝试停止一下 hhvm、让网站 502,看看是否生效:
如果你跟我一样像上图挂几秒又自动运作了的话,那就说明你成功了。
小结
没小结,hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh.....
目前有5条回应
Comment
Trackback
Loading ....
- 本篇文章没有Trackback
hhvm稳定性如何?不会经常出问题吧?
稳定性很差啊 。。。访问量一大就不行。可能是我内存太小了 。。。。。
不过搞个脚本来监控网站还是挺可行的,挂了的话几秒就恢复了。
测试
你现在用的是hhvm么啊。。。好像说php7的性能已经和hhvm的性能差不多了啊
对呀,是 HHVM,我还是觉得 HHVM 比 PHP7 快,在探针下测试也是快一点 。。虽然那些专业测试的软件显示 PHP7 快