mysql、php、nginx进程监控脚本,提高网站可用性

avatar
avatar
自然
3257
文章
472
评论
2020年7月7日11:04:02 5 867字阅读2分53秒

昨天自然博客进行数据库迁移时,恰巧许都博客站长访问,提示“Error establishing a database connection”,还非常热心的提供了一段mysqld的进程监控代码,自然今天简单改一下分享给需要的站长朋友。

网站环境偶尔会出现特殊情况造成mysql或者php进程被系统杀死的情况,nginx极少数情况会挂掉。为了保障网站的正常运行,我们可以为服务器增加一个进程监控脚本,以防止mysql或者php挂掉造成网站无法访问。

mysql、php、nginx进程监控脚本,提高网站可用性

脚本内容

这个脚本必须由root来执行

#!/bin/bash

#mysql进程监控 
pgrep -x mysqld &> /dev/null 
if [ $? -ne 0 ];then 
        echo “At time: `date` :MySQL is stop .”>> /root/public_log 
        /usr/sbin/service mysqld start 
else 
        echo “MySQL server is running .” 
fi

#php进程监控
pgrep -x php-fpm &> /dev/null
if [ $? -ne 0 ];then
        echo “At time: `date` :php-fpm is stop .”>> /root/public_log
        /usr/sbin/service php-fpm start
else
        echo “php-fpm server is running .”
fi
#nginx进程监控

pgrep -x nginx &> /dev/null
if [ $? -ne 0 ];then
        echo “At time: `date` :Nginx is stop .”>> /root/public_log
        /usr/sbin/service nginx start
else
        echo “Nginx server is running .”
fi

添加定时监控。每隔5分钟执行一次

*/5 * * * * /root/public.sh

总结

由于之前博客一直稳定运行,昨天做了一次数据库迁移,许都博客站长看到了数据库连接错误,给自然提了这个建议,一般情况我们的网站环境是稳定运行的,但不排除特殊情况造成的熄火,有一个进程监控还是非常不错的。

weinxin
自然博客
快来关注一下,一个linux运维爱好者的个人博客!
avatar
  • 本文由 发表于 2020年7月7日11:04:02
全网通流量卡/物联卡 SIM专用上网卡
AlphaSSL 域名通配符型DV SSL证书
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:5   其中:访客  0   博主  0
    • avatar 缙哥哥 5

      可以试试htop,参见https://www.dujin.org/12991.html

        • avatar 自然

          @ 缙哥哥 可以htop查看状态,这个脚本的功能是自动监测,一旦挂掉会自动重启

            • avatar 缙哥哥 5

              @ 自然 是不是意味着调用接口,可以整合一起看的那种?

                • avatar 自然

                  @ 缙哥哥 就是可以按照自己喜欢整个监控,你的宝塔好像有mysql和php进程守护功能插件的

            • avatar 明月登楼 2

              不错,赞一个!