写点什么

3 分钟学会如何上手 supervisor 看门狗

用户头像
happlyfox
关注
发布于: 2021 年 02 月 25 日

软硬件环境


  • centos7.6.1810 64bit


  cat /etc/redhat-release #查看系统版本
复制代码
  • supervisor 3.4.0

  • python 2.7.5


supervisor 简介


supervisor是一个用python语言编写的进程管理工具,它可以很方便的监听、启动、停止、重启一个或多个进程。当一个进程意外被杀死,supervisor监听到进程死后,可以很方便的让进程自动恢复,不再需要程序员或系统管理员自己编写代码来控制。


supervisord 安装


yum install -y epel-releaseyum install -y supervisor
复制代码

启动 &开启自启


systemctl start supervisordsystemctl enable supervisord
复制代码

其他命令

systemctl stop supervisord
systemctl start supervisord
systemctl status supervisord
systemctl reload supervisord
systemctl restart supervisord
复制代码

supervisor 的 web 端


supervisor提供了基于web的控制,管理员可以通过在页面上点点按钮即可完成对进程的启动、重启等操作,甚是方便。


进入配置文件,开启对 web 端的支持


vim /etc/supervisord.conf
复制代码

如果提供给外部访问,需要将 port 改为本机 ip 地址

#取消10-13行注释,前面数字是行号[inet_http_server]         ; inet (TCP) server disabled by defaultport=192.168.26.121:9001   ; (ip_address:port specifier, *:port for all iface)username=user              ; (default is no username (open server))password=123               ; (default is no password (open server))
复制代码


配置完成后重启服务


systemctl restart supervisord
复制代码

supervisord 应用配置


进入 supervisord 配置文件


cat /etc/supervisord.conf
复制代码

通过配置文件最后一行看到

[include]files = supervisord.d/*.ini
复制代码


也就是说,我们所有的应用配置文件都保存在这个目录下,以.ini 格式命名保存的,可以自行修改地址,但不要修改后缀


那我们来创建一个受监控的应用吧


创建测试 python 配置


创建一个名称叫做 python 的应用程序配置


vim /etc/supervisord.d/python.ini
复制代码

配置文件内容,其中 command 就是我们应用程序启动需要执行的命令

[program:python] #这里的python就是我们显示在web前端以及终端的监控名称command=python /tmp/supervisordtest/test.py  #我们要监控的文件地址autostart=trueautorestart=truestartsecs=1startretries=3redirect_stderr=truestdout_logfile=/tmp/supervisordtest/access_python.log   #日志地址,可自行配置目录stderr_logfile=/tmp/supervisordtest/error_python.log    #日志地址,可自行配置目录
复制代码

创建 test.py

mkdir /tmp/supervisordtestvim /tmp/supervisordtest/test.py
复制代码


程序内容:开启一个死循环,不停的打印内容

while True:   print(100)
复制代码


重启 supervisord 使配置文件生效


systemctl restart supervisord
复制代码

查看应用是否正常启动


1、命令查看


systemctl status supervisord
复制代码

2、可视化 web 查看


web 端可以重启,停止,清理日志,查看日志等多个操作


supervisor 相关的几个命令


安装完毕,会生成 3 个系统命令supervisorctlsupervisordecho_supervisord_conf


  1. supervisord,运行supervisor时会启动一个进程supervisord,它负责启动所管理的进程,并将所管理的进程作为自己的子进程来启动,而且可以在所管理的进程出现崩溃时自动重启

  2. supervisorctl 是命令行管理工具,可以用来执行 start stop restart 等命令,来对这些子进程进行管理, 如

  3. echo_supervisord_conf

echo_supervisord_conf > test.conf
复制代码


发布于: 2021 年 02 月 25 日阅读数: 15
用户头像

happlyfox

关注

公众号 程序员工具集 2021.02.18 加入

博客 [www.zhouhuibo.club] 分享优秀的开源项目、学习资源和常用工具。谈论新闻热点、职场经验、学习感悟。共同进步!

评论

发布
暂无评论
3分钟学会如何上手supervisor看门狗