supervisor简明教程


一、supervisor是什么

Linux的后台进程运行有好几种方法,例如nohup,screen等,但是,如果是一个服务程序,要可靠地在后台运行,我们就需要把它做成daemon,最好还能监控进程状态,在意外结束时能自动重启。

supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

二、安装及使用

1.安装
pip install supervisor    # supervisor目前只支持python2,但是作为容器来说,并不影响监控程序是python3的程序

2.生成配置文件
echo_supervisord_conf > supervisord.conf     #在当前目录下生成

3.启动supervisor
supervisord -c supervisord.conf   #  -c 用来指定配置文件

4.其他常用命令
supervisorctl -c supervisord.conf   # 启动命令行模式,命令行模式使用的配置文件注意一定要和启动supervisor时的配置文件一致
help : 帮助
update : 重新读取配置文件,并重启
restart all : 重启所有进程,不会重新读取配置文件
start all : 启动所有进程
start <name>  : 启动某个进程
status  : 获取所有进程信息
stop all : 停止所有进程
stop <name> : 停止某个进程 

三、添加应用

常用配置, ; 代表注释

    ; ================================  
    ;  uwsgi supervisor  
    ; ================================  
      
    [program:uwsgi]  ; :后是自定义的名称,在supervisorctl下可以通过  start uwsgi 来启动该进程  
      
    command=/path/to/bin/uwsgi --die-on-term --ini /path/to/uwsgi.ini ; 执行的命令,即在命令行中是如何使用该命令的  --die-on-term keep uwsgi cpu rate low;  
    numprocs=1  ; 启动的进程个数,可以同时启动多个进程
      
    stdout_logfile=/var/log/uwsgi/out.log ; 输出日志位置,目录需要创建,并且如果不是root用户执行需要更改目录权限 chown -R username:username /var/log/uwsgi/out.log,下同  
    stderr_logfile=/var/log/uwsgi/err.log  ; 错误日志位置
    autostart=true   ; 自动启动
    autorestart=true  ; 自动重启   
    priority=997  ; 启动的优先级,数字越大,级别越高,如该进程需要比其他进程先启动,则优先级则设置为更高

四、更多

参考官方文档:http://www.supervisord.org

优质内容筛选与推荐>>
1、快速理解C#高级概念(一) Delegate委托
2、节点选择只有链接
3、android全面开发(有链接到对应的知识)
4、多维联机数据分析模型和系统设计方法[转]
5、定时的关闭弹出窗口


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn