最近使用DotCloud,发现网站会出现无法访问,难道该云服务也会挂?马上登录上去查看情况,发现nginx进程没有问题,因为静态页面访问正常;那可能是php执行的时候出错了,重启了php5-pfm进程访问恢复。
DotCloud正在测试期间,进程出点问题也可以理解,不过陋室博客正在这上,我可不希望自己博客挂了。于是写了个脚本,来自动监控服务的状态,如果出现不能访问,进行相应的恢复处理:
#!/bin/sh
curl -I bolg.malu.me 2>/dev/null | head -1 | grep -q " 200 OK"
if [ $? -eq 1 ]; then
supervisorctl restart php5-fpm
fi
该脚本用curl命令监测网站是否可访问,并做一次判断,如果访问失败则自动重启php5-fpm进程。
接下来只要通过计划任务每分钟执行该脚本一次:
* * * * * /home/dotcloud/webtest.sh
当然同样适合在vps上使用,只需修改相对应的执行语句命令supervisorctl restart php5-fpm。
相关文章: