zoukankan      html  css  js  c++  java
  • linux 使用进程管理工具 supervisor

    1.supervisor是使用python进行开发的运行在linux服务器上的进程管理工具
        老版本的supervisor需要运行在python2环境,如果需要使用supervisor管理python3的项目,需要借助于虚拟环境
       事实上现在已经支持Python3了 https://github.com/Supervisor/supervisor
    2.安装supervisor: pip install supervisor

       python3环境安装:
         
    pip3 install git+https://github.com/Supervisor/supervisor
    3.生成配置文件:echo_supervisord_conf > /etc/supervisord.conf, 当进行到这一步时,终端提示需要    
        apt install supervisor,如果有该提示,执行命令进行安装即可,如果没有提示则忽略
    
    4.编辑配置文件:vim /etc/supervisord.conf
    
        1)修改最后两行,去掉前面的分号。
            [include]
            files = /etc/supervisord/*.conf
    
            files:管理进程的配置文件的路径,每一个进程都需要单独配置一个配置文件,这里需要根据实际情况配置
    
        2)开启web控制台:找到如下几行,去掉注释
    
            [inet_http_server]   ; inet (TCP) server disabled by default
            port=0.0.0.0:9001    ; ip_address:port specifier, *:port for all iface
            username=admin       ; default is no username (open server)
            password=123456      ; default is no password (open server)
    
            配置了这些参数以后就可以使用相应的用户名称和密码通过访问指定的ip和端口,从而通过web界面,管理进程,查看日志等
    
    5.添加管理进程的目录
        mkdir -p /etc/supervisord/
        这里的目录需要和配置文件 supervisord.conf 里的 files 参数保持一致
    
    6.新添加一个test1进程,进行管理
        vim /etc/supervisord/test1.conf
        路径需要和配置文件 supervisord.conf 里的 files 参数保持一致
    
        [program:test1]
        user=root
        directory=/usr/local/test/
        command=/usr/bin/python /usr/local/test/test.py
        autostart=true
        autorestart=true
        loglevel=debug
        log_stderr=true
        stdout_logfile=/var/log/test1.log
        redirect_stderr=true
    
        说明:
            1)每个进程的配置文件都必须拥有一个唯一的program名称
            2)command 就是需要在终端进行输出的命令,通过命令启动进程
            3)当有多个进程时,就需要定义多个进程管理配置文件
    
    6.启动supervisor
    
        supervisord -c /etc/supervisord.conf
    
        当启动supervisor管理工具时,也会同时启动所有添加到了管理中进程
    
    7.查看添加到管理中的进程的状态
        supervisorctl status
    
        可以查看到每一个进程名称(program名称)所对应的状态
    
    8.根据进程名称关闭,启动,重启进程    
        supervisorctl stop test1
        supervisorctl start test1
        supervisorctl restart test1
    
    9.关闭supervisor
        ps -ef | grep super
    
        然后 kill -9 进程号 杀死进程
    
        注意:
            直接杀掉supervisor的主进程,被管理的进程仍然运行状态,所以记得先stop被管理的进程。
            如果修改了任意一个配置文件,都需要重启supervisor。
  • 相关阅读:
    Egret白鹭开发小游戏中容易犯的错
    egret之消除游戏开发
    Jmeter学习之— 参数化、关联、断言、数据库的操作
    JMeter学习-031-JMeter 3.0 POST Body Data 中文乱码问题
    Nginx负载均衡的五种策略
    Linux性能监控分析命令(五)—free命令介绍
    Linux性能监控分析命令(四)—top命令介绍
    ssh连接时提示THE AUTHENTICITY OF HOST XX CAN'T BE ESTABLISHED
    Linux性能监控分析命令(二)—sar命令介绍
    jProfiler远程连接Linux监控jvm1运行状态
  • 原文地址:https://www.cnblogs.com/lowmanisbusy/p/10222782.html
Copyright © 2011-2022 走看看