首先强烈谴责一下 CNblog、CSDN 以及简书,抄来抄去就是没有一个能解决问题的,简直就是互联网三大毒瘤。
在网上找的脚本基本上都是抄来抄去,比如 Nginx 可以用,套在 Mysql 上就不行了,搜索了相关资料也没找到,只看到网上千变一律的抄来抄去,连脚本的 BUG 都没发现还抄你大爷呢,害惨我了,不过还是由我这个菜鸡搞定了,在别人原有的基础上修改了一下,算是伪原创吧。
此次教程主要针对 512M 内存或以下的,防止系统内存不足或者其它原因导致的程序自动退出或者被 kill 掉而写的。
以下全部脚本配合 crontab 定时任务监控程序是否运行,否则将会自动启动。
Nginx 监控脚本
#!/bin/bash
pgrep -x nginx &> /dev/null
if [ $? -ne 0 ]
then
/etc/init.d/nginx start
echo "Nginx stopped at time: `date` " >> /home/logs/server.log
else
echo $(date +%F%n%T) "Nginx server is running."
fi
Mysql 监控脚本
#!/bin/bash
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ]
then
echo "At time: `date` :MySQL is stop .">> /home/logs/server.log
service mysql start
#echo "At time: `date` :MySQL server is stop."
else
echo $(date +%F%n%T) "MySQL server is running."
fi
php-fpm 监控脚本
#!/bin/bash
pgrep -x php-fpm &> /dev/null
if [ $? -ne 0 ]
then
echo "At time: `date` :php-fpm is stop ." >> /home/logs/server.log
/etc/init.d/php-fpm start
#echo "At time: `date` :php-fpm server is stop."
else
echo $(date +%F%n%T) "php-fpm server is running."
fi
以前512MB内存的时候经常蹦,还好现在都1G起步了。