zoukankan      html  css  js  c++  java
  • supervisor 管理uwsgi 进程

    Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动 重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要 管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警

    安装:

    Supervisor是python2写就的一款强大的运维工具(其实现在已经支持Python3了 https://github.com/Supervisor/supervisor)
    那么怎么利用Supervisor监控python3程序呢

    通过指令:pip3 install git+https://github.com/Supervisor/supervisor

    配置文件:

    # supervisor名字
    [program: your_supervisor_name]
    
    #supervisor执行命令
    command = uwsgi --init your_uwsgi.ini
    
    #项目目录
    derectory = ......
    
    #开始的时候等待多少秒
    startsecs = 0
    
    #停止时等待多少秒
    stopawitsecs = 0
    
    #自动开始
    autorestart = true
    
    #程序挂了是否重启
    autorestart = true
    
    #输出的log文件
    stdout_logfile = .../log/supervisor.log
    
    #输出的错误文件
    stderr_logfile = .../log/supervisor.err
    
    #把 stderr 重定向到 stdout,默认 false
    redirect_stderr = true
    
    #stdout 日志文件大小,默认 50MB
    stdout_logfile_maxbytes = 20M
    
    [supervisor]
    # log 级别
    loglevel = info
    

    启动指令:

    supervisord -c mycms_supervisor.conf
    

    安装supervisor时,默认安装supervisord 和 supervisorctl

    supervisorctl 相当于一个客户端,去管理supervisord 的进程


    配置:

    #使用supervisorctl配置
    
    [inet_http_server]
    #supervisor服务器
    port = :9001
    username = admin
    password = 123
    
    [supervisorctl]
    #使用supervisorctl的登录地址和端口号
    serverurl = http://127.0.0.1:9001
    
    #登录supervisorctl的用户名和密码
    username = admin
    password = 123
    
    #不定义命名空间
    [rpcinterface:supervisor]
    supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
    
    

    操作指令
    supervisorctl 全局进入

    进入单个 进程 supervisorctl -c supervisor.conf

    status #查看状态
    start programe_name #启动程序
    restart programe_name #重启程序
    stop programe_name #关闭程序
    reload #重新加载配置文件
    quit #退出控制台

    supervisor 官网

  • 相关阅读:
    WebApi调用及发布
    List<T> 去除重复数据
    C#正则表达式去除XML标签
    SSIS 发送邮件
    域登录验证.net版
    js获取select选中的值
    ionic常见错误
    mac安装brew homebrew
    flutter ios编译报错集
    dart 格式化输出
  • 原文地址:https://www.cnblogs.com/donghaoblogs/p/10518326.html
Copyright © 2011-2022 走看看