• supervisor 的安装与使用


    学习视频:
    https://www.bilibili.com/video/BV1Vi4y147Fm?from=search&seid=8875783979034550201

    更多说明:
    https://xugaoxiang.com/2019/12/04/supervisor/
    https://www.cnblogs.com/Hai--D/p/5820718.html

    安装
    sudo yum install -y supervisor

    开机启动
    sudo systemctl enable supervisord

    启动
    sudo systemctl start supervisord

    查看启动
    ps -ef | grep supervisor

    2、 配置Supervisor

    a.创建文件夹和配置文件

    mkdir /etc/supervisor
    echo_supervisord_conf > /etc/supervisor/supervisord.conf

    b.修改/etc/supervisor/supervisord.conf文件内容

    在文件结尾[include]节点处

    ;files = relative/directory/*.ini

    改为files = conf.d/*.conf

    c.执行supervisorctl reload 命令使配置文件生效。

    d.在/etc/supervisor/下创建conf.d文件夹,及ProjectName.conf(以项目名称命名的)

    e.打开ProjectName.conf文件,添加内容如下:

    [program: ProjectName]
    command=dotnet ProjectName.dll ; 运行程序的命令
    directory=/root/Publishing/PublishOutput/ ; 命令执行的目录
    autorestart=true ; 程序意外退出是否自动重启
    autostart=true ; 是否自动启动
    stderr_logfile=/var/log/ProjectName.err.log ; 错误日志文件
    stdout_logfile=/var/log/ProjectName.out.log ; 输出日志文件
    environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
    user=root ; 进程执行的用户身份
    stopsignal=INT
    startsecs=1 ; 自动重启间隔
    

    以我的项目为例

    [program:power]
    process_name=power
    user=root
    command=nohup /home/work/go/src/linkbook.com/power >> access.log 2>&1 & ; 运行程序的命令    
    directory=/home/work/go/src/linkbook.com/power ; 命令执行的目录
    autorestart=true ; 程序意外退出是否自动重启 
    autostart=true ; 是否自动启动
    stderr_logfile=/var/log/power_err.log ; 错误日志文件      
    stdout_logfile=/var/log/power_out.log ; 输出日志文件
    user=root ; 进程执行的用户身份
    stopsignal=INT
    startsecs=1 ; 自动重启间隔
    
    

    保存并退出

    3、 运行supervisord,查看是否生效,执行以下命令:

    supervisord -c /etc/supervisor/supervisord.conf
    ps -ef | grep ProjectName

    4:web界面操作

    需要在supervisor的配置文件里添加[inet_http_server]选项组:之后可以通过http://10.211.55.11:9001来访问控制子线程的管理。

    [inet_http_server]
    port=10.211.55.11:9001
    username=user
    password=123

    效果:

    5:子进程管理(supervisorctl)

    1. 查看所有子进程的状态:

    supervisorctl status

    blog RUNNING pid 2395, uptime 0:08:41
    zhoujy RUNNING pid 2396, uptime 0:08:41

    2)关闭、开启指定的子进程:

    supervisorctl stop zhoujy

    zhoujy: stopped

    supervisorctl start zhoujy

    zhoujy: started

    3)关闭、开启所有的子进程:

    supervisorctl stop all

    blog: stopped
    zhoujy: stopped

    supervisorctl start all

    blog: started
    zhoujy: started

    4):其他参数:supervisor开启后子进程自动开启(autostart=true)和子进程退出后自动启动(autorestart=ture)

    更多的参数可以看官方文档和supervisor(一)基础篇的说明。
    总结:

      我们需要的功能在上面介绍的supervisor的基本功能中已经实现,supervisor还有其他的一些功能:如进程组、web页面管理子进程、监控子线程情况等等,更多的信息可以去官网上查看。
  • 相关阅读:
    javascript获取id元素
    小米供应链
    几个极限的证明
    第一章 实数
    当a在什么范围取值时,方程|x方-5x|=a有且只有两个相异实根
    壮壮的西城学探究里面的x=1,x=-1
    三角形的边长注意问题
    x方+x+1, x方-x+1无实根,不可能为0
    一个混合电路
    串联电路的电流处处相等
  • 原文地址:https://www.cnblogs.com/haima/p/13035510.html
Copyright © 2020-2023  润新知