3分钟学会如何上手supervisor看门狗
软硬件环境
- centos7.6.181064bit
cat/etc/redhat-release#查看系统版本
- supervisor3.4.0
- python2.7.5
supervisor简介
supervisor是一个用python语言编写的进程管理工具,它可以很方便的监听、启动、停止、重启一个或多个进程。当一个进程意外被杀死,supervisor监听到进程死后,可以很方便的让进程自动恢复,不再需要程序员或系统管理员自己编写代码来控制。
supervisord安装
yuminstall-yepel-release yuminstall-ysupervisor
启动&开启自启
systemctlstartsupervisord systemctlenablesupervisord
其他命令:
systemctlstopsupervisord#停止启动 systemctlstartsupervisord#启动 systemctlstatussupervisord#启动状态 systemctlreloadsupervisord#重载 systemctlrestartsupervisord#重启
supervisor的web端
supervisor提供了基于web的控制,管理员可以通过在页面上点点按钮即可完成对进程的启动、重启等操作,甚是方便。
进入配置文件,开启对web端的支持
vim/etc/supervisord.conf
如果提供给外部访问,需要将port改为本机ip地址
#取消10-13行注释,前面数字是行号 [inet_http_server];inet(TCP)serverdisabledbydefault port=192.168.26.121:9001;(ip_address:portspecifier,*:portforalliface) username=user;(defaultisnousername(openserver)) password=123;(defaultisnopassword(openserver))
配置完成后重启服务
systemctlrestartsupervisord
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
程序内容:开启一个死循环,不停的打印内容
whileTrue: print(100)
重启supervisord使配置文件生效
systemctlrestartsupervisord
查看应用是否正常启动
1、命令查看
systemctlstatussupervisord
2、可视化web查看
web端可以重启,停止,清理日志,查看日志等多个操作
supervisor相关的几个命令
安装完毕,会生成3个系统命令supervisorctl、supervisord和echo_supervisord_conf
1. supervisord,运行supervisor时会启动一个进程supervisord,它负责启动所管理的进程,并将所管理的进程作为自己的子进程来启动,而且可以在所管理的进程出现崩溃时自动重启
2.supervisorctl是命令行管理工具,可以用来执行start、stop、restart等命令,来对这些子进程进行管理,如
sudosupervisorctlstartdemoweb
其中demoweb是进程的名称,详细的命令及说明见下面的这张表
supervisorctlstartprogram_name | 启动某个进程 |
supervisorctlstopprogram_name | 停止某个进程 |
supervisorctlrestartprogram_name | 重启某个进程 |
supervisorctlstatusprogram_name | 查看某个进程的状态 |
supervisorctlstopall | 停止全部进程|\ |
supervisorctlreload | 载入最新的配置文件,重启所有进程 |
supervisorctlupdate | 根据最新的配置,重启配置更改过的进程,未更新的进程不受影响 |
3.echo_supervisord_conf
echo_supervisord_conf>test.conf
到此这篇关于3分钟学会如何上手supervisor看门狗的文章就介绍到这了,更多相关3分钟学会如何上手supervisor内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。