supervisor的使用

这个月的工作用到了supervisor,在这里分享一下


首先介绍一下supervisor

Supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。

第一步,下载与安装

下载很随便,用你自己习惯的方式下载就可以了

我是用 apt-get install supervisor 命令直接下载

第二步,使用

  1. 生成配置文件

    echo_supervisord_conf > /etc/supervisord.conf

  2. 打开并在文件底部配置文件include

    vim /etc/supervisord.conf


    [include]
    files=/etc/supervisor/*.conf #若你本地无/etc/supervisor目录,请自建

  3. 用supervisor管理进程,配置如下

    cd /etc/supervisor
    vim cookie.conf # 这里的文件名称自定义

  4. 配置如下内容

    ; 设置进程的名称,使用 supervisorctl 来管理进程时需要使用该进程名
    [program:<your_program_name>]
    command=python server.py --port=9000
    ;numprocs=1                 ; 默认为1
    ;process_name=%(program_name)s   ; 默认为 %(program_name)s,即 [program:x] 中的 x
    directory=/home/liukai/commenter/commenter_cookie ; 执行 command 之前,先切换到工作目录
    user=root                 ; 使用 root 用户来启动该进程
    ; 程序崩溃时自动重启,重启次数是有限制的,默认为3次
    autorestart=true            
    redirect_stderr=true        ; 重定向输出的日志
    stdout_logfile = /var/log/supervisord/tornado_server.log
    loglevel=info

  5. 重启一下

    supervisorctl reload

第三,常用命令

supervisord : 启动supervisor
supervisorctl reload :修改完配置文件后重新启动supervisor
supervisorctl status :查看supervisor监管的进程状态
supervisorctl start 进程名 :启动XXX进程
supervisorctl stop 进程名 :停止XXX进程
supervisorctl stop all:停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
supervisorctl update:根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启

第四,后续

后续还可以设置开机自动启动,配置更详细的信息,在这里就不多说啦!

网友评论

2条评论

发表

网友评论

2条评论

发表

最新评论

minimum22 3 0

谢谢分享

11月08日 20:31

10月30日 22:32

推荐文章

彩龙

Copyright © 2008-2021 彩龙社区 版权所有 All Rights Reserved.

免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。

经营许可证编号:滇B2-20090009-7

下载我家昆明APP 下载彩龙社区APP