经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
3分钟学会如何上手supervisor看门狗
来源:cnblogs  作者:三十三重天  时间:2021/3/1 9:07:36  对本文有异议

软硬件环境

  • centos7.6.1810 64bit

    1. cat /etc/redhat-release #查看系统版本
  • supervisor 3.4.0

  • python 2.7.5

supervisor简介

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

supervisord安装

  1. yum install -y epel-release
  2. yum install -y supervisor

启动&开启自启

  1. systemctl start supervisord
  2. systemctl enable supervisord

其他命令

  1. systemctl stop supervisord
  2. systemctl start supervisord
  3. systemctl status supervisord
  4. systemctl reload supervisord
  5. systemctl restart supervisord

supervisor的web端

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

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

  1. vim /etc/supervisord.conf

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

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

配置完成后重启服务

  1. systemctl restart supervisord

supervisord应用配置

进入supervisord配置文件

  1. cat /etc/supervisord.conf

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

  1. [include]
  2. files = supervisord.d/*.ini

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

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

创建测试python配置

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

  1. vim /etc/supervisord.d/python.ini

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

  1. [program:python] #这里的python就是我们显示在web前端以及终端的监控名称
  2. command=python /tmp/supervisordtest/test.py #我们要监控的文件地址
  3. autostart=true
  4. autorestart=true
  5. startsecs=1
  6. startretries=3
  7. redirect_stderr=true
  8. stdout_logfile=/tmp/supervisordtest/access_python.log #日志地址,可自行配置目录
  9. stderr_logfile=/tmp/supervisordtest/error_python.log #日志地址,可自行配置目录

创建test.py

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

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

  1. while True:
  2. print(100)

重启supervisord使配置文件生效

  1. systemctl restart supervisord

查看应用是否正常启动

1、命令查看

  1. systemctl status supervisord

2、可视化web查看

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

image-20200607153351958

supervisor相关的几个命令

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

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

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

    1. sudo supervisorctl start demoweb

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

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

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

    1. echo_supervisord_conf > test.conf

原文链接:http://www.cnblogs.com/foxhappy/p/14445181.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号