Nginx学习笔记3:Shell脚本检测Nginx服务状态
前言
nginx 服务启动后,我们需要对其服务状态进行监控,今天学习过程中理解到一段非常有用的小脚本,不仅可以监控Nginx,也可以用来监控其余服务
脚本
A=`ps -C nginx –no-header |wc -l`if [ $A -eq 0 ];then /usr/local/nginx/sbin/nginx sleep 2 if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then killall keepalived fifi脚本解析
ps -C nginx –no-header这里涉及ps 的用法,我们一般用ps查看相关进程,一般都是用
ps -ef | grep XX 或者 ps -aux| grep XX 的模式
如下:
[root@bogon ~]# ps -ef | grep nginxroot 2248 1 0 19:13 ? 00:00:00 nginx: master process ./nginxnobody 3265 2248 0 20:16 ? 00:00:00 nginx: worker processroot 4791 4742 0 22:05 pts/1 00:00:00 grep --color=auto nginx但是这样通常都会覆盖一个grep的进程
我们可以用ps -C 或者ps -c 的方式, -C 后面接命令的名字 ,如下:
[root@bogon ~]# ps -C nginx PID TTY TIME CMD 4983 ? 00:00:00 nginx 4984 ? 00:00:00 nginx–no-header 就是去挑title,如下:
[root@bogon ~]# ps -C nginx --no-header 4983 ? 00:00:00 nginx 4984 ? 00:00:00 nginxwc -l 这个很熟习了,行数计算
所以用这种方式可判断,假如
ps -C nginx –no-header|wc -l
假如值为0,即代表服务未启动
假如值为非0,即代表服务已启动
还有一个知识点,killall keepalived 这个是以服务名称杀死进程,日常中也用的挺多的
举一反三
上面那段完整的脚本意思即为:
判断nginx 服务能否启动
假如未启动,执行启动命令
再次判断,假如启动失败,关掉keepalived,进入从节点
关于Nginx的主从我们后面会实操后记录
最重要的一点是,这段脚本不仅可以用来监控Nginx,其余服务也是可以的,模式是一样的,大家可以自行试试
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Nginx学习笔记3:Shell脚本检测Nginx服务状态
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Nginx学习笔记3:Shell脚本检测Nginx服务状态