文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2022-06-04 23:44

关注

软硬件环境


cat /etc/redhat-release #查看系统版本

supervisor简介

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

supervisord安装


yum install -y epel-release
yum install -y supervisor

启动&开启自启


systemctl start supervisord
systemctl 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 default
port=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=true
autorestart=true
startsecs=1
startretries=3
redirect_stderr=true
stdout_logfile=/tmp/supervisordtest/access_python.log #日志地址,可自行配置目录
stderr_logfile=/tmp/supervisordtest/error_python.log #日志地址,可自行配置目录

创建test.py


mkdir /tmp/supervisordtest
vim /tmp/supervisordtest/test.py

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


while True:
 print(100)

重启supervisord使配置文件生效


systemctl restart supervisord

查看应用是否正常启动

1、命令查看


systemctl status supervisord

2、可视化web查看

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

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

supervisor相关的几个命令

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

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

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


sudo supervisorctl start demoweb

其中demoweb是进程的名称, 详细的命令及说明见下面的这张表

命令 说明
supervisorctl start program_name 启动某个进程
supervisorctl stop program_name 停止某个进程
supervisorctl restart program_name 重启某个进程
supervisorctl status program_name 查看某个进程的状态
supervisorctl stop all ZyStR止全部进程 | \
supervisorctl reload 载入最新的配置文件,重启所有进程
supervisorctl update 根据最新的配置,重启配置更改过的进程,未更新的进程不受影响

3. echo_supervisord_conf

用来生成默认的配置文件(默认配置文件,内容非常齐全且都有注释,适合用时查阅,用法是这样的


echo_supervisord_conf > test.conf

到此这篇关于3分钟学会如何上手supervisor看门狗的文章就介绍到这了,更多相关3分钟学会如何上手supervisor内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯