• supervisor 使用


    一、介绍

    Supervisor是一个进程控制系统. 它是一个C/S系统(注意: 其提供WEB接口给用户查询和控制), 它允许用户去监控和控制在类UNIX系统的进程.
    相关的组件

    supervisor:要安装的软件的名称。
    supervisord:装好supervisor软件后,supervisord用于启动supervisor服务。
    supervisorctl:用于管理supervisor配置文件中program。
    

    二、安装部署

    1、 centos7下安装

    # yum install epel-release
    # yum install -y supervisor
    # systemctl enable supervisord # 开机自启动
    # systemctl start supervisord # 启动supervisord服务 
    也可以使用/usr/bin/supervisord -c /etc/supervisord.conf &  启动,通常使用在docker里面启动改进程
    
    # systemctl status supervisord # 查看supervisord服务状态
    # ps -ef|grep supervisord # 查看是否存在supervisord进程
    

    2、修改配置

    默认的配置文件在 /etc/supervisord.conf
    修改配置如下:

    [supervisord] # 守护进程读取的配置
    logfile=/data/supervisord/supervisord.log  # 守护进程的日志存放位置
    logfile_maxbytes=50MB  #日志文件大小
    logfile_backups=10 # 日志文件个数
    loglevel=info #日志文件等级
    pidfile=/data/supervisord/supervisord.pid
    nodaemon=false # 使用以守护进程启动,配置为false,表示以守护进程启动
    
    [program:task1]  # 守护进程具体管理的子线程,可以有多个
    command=/usr/local/jdk/bin/java -cp task.jar:lib/* com.rs.task.server.task1  #子线程具体执行的命令
    directory=/opt/data1 # 执行子进程的目录,也就是进入到该目录执行上面的命令
    startretries=10 # 失败时采取的重启次数
    autorestart=true #是否开启自动重启
    startsecs=3 # 子进程启动多少秒以后表示运行
    redirect_stderr=true
    stdout_logfile=/data/taskserver.log
    

    三、控制被守护的应用

    修改/etc/supervisord.conf文件,添加如下配置

    [supervisorctl]
    serverurl=unix:///var/run/supervisor/supervisor.sock
    
    [unix_http_server]
    file=/var/run/supervisor/supervisor.sock
    
    [rpcinterface:supervisor]
    supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
    

    查看所有应用supervisorctl status
    stop某个应用supervisorctl stop xxx, xxx为上一步现实的应用名即[program:demo]这里是demo
    restart某个应用supervisorctl restart xxx
    修改某个应用的配置后(supervisorctl update 会重新启动这个应用)

    或者可以进入到supervisorctl 控制台

    # supervisorctl -c /etc/supervisord.conf
    supervisor> help    # 查看常用的命令
    default commands (type help <topic>):
    =====================================
    add    exit      open  reload  restart   start   tail   
    avail  fg        pid   remove  shutdown  status  update 
    clear  maintail  quit  reread  signal    stop    version
    supervisor> status
    ManageServer                     RUNNING   pid 1142, uptime 0:01:19
    TaskServer                       RUNNING   pid 1143, uptime 0:01:19
    cron_properties                  RUNNING   pid 1144, uptime 0:01:19
    supervisor> version
    3.4.0
    

    参考借鉴:
    https://www.cnblogs.com/huashengxue/p/9578636.html
    https://blog.csdn.net/donggege214/article/details/80264811
    https://blog.csdn.net/ningyuxuan123/article/details/81903711
    https://blog.csdn.net/perfecttech/article/details/96136811

  • 相关阅读:
    maven安装与配置
    git客户端安装
    linux-更改文件属性-chattr与lsattr
    乐观锁-version的使用
    Project 專業名詞
    從 kernel source code 查出 版本號碼
    Bit banging
    Push pull, open drain circuit, pull up, pull down resistor
    Current Sourcing (拉電流) and Current Sinking(灌電流)
    學習 DT device tree 以 ST 的開發板 STM32F429i-disc1 為例
  • 原文地址:https://www.cnblogs.com/yjt1993/p/13273283.html
Copyright © 2020-2023  润新知