美文网首页
Supervisor使用记录

Supervisor使用记录

作者: 驴得氺 | 来源:发表于2019-01-04 16:40 被阅读0次

    项目中经常会已守护进程执行一些脚本文件或者是监控某些服务的健康状态需要crontab定时去检查比较麻烦,搜索发现可以用Supervisor来管理这些进程,这里做一个使用记录。
    安装:这里只展示一种方法,应该还有其他方法,本人没有测试不做展示了。

    pip install  supervisor //安装
    echo_supervisord_conf > /etc/supervisord.conf //生成配置文件路径可以自定义。
    

    配置文件里参数很多这里也不做详细记录了,不设置也不会影响程序运行,在配置文件结尾我们需要放开一段注释来引入我们自定义的配置文件,我把每一个需要监控的进程创建了一个配置文件放在了/etc/supervisord/。

     [include]
    files = /etc/supervisord/*.conf
    

    接下贴一下/etc/supervisord下的详细配置文件,这些参数基本够用了,详细的参数在主配置文件里都有,可以去查看。

    [program:beanstalk]  ; :后边是给要监听某个服务起了个名字
    command=/usr/local/bin/beanstalkd -b /data/server/binlog/ -l 0.0.0.0  ;这是我们启动的命令,
    stdout_logfile=/opt/run.log ;日志文件
    autostart=true ;如果设置为true,当supervisord启动的时候,进程会自动启动
    autorestart=true ;设置为随 supervisord 重启而重启,值可以是false、true
    startsecs=60 ;程序启动后等待多长时间后才认为程序启动成功,默认是10秒
    stopasgroup=true
    killasgroup=true
    startretries=1
    redirect_stderr=true
    

    接下来就是启动supervisor了。

    supervisord -c /etc/supervisord.conf
    

    管理我们的进程就需要另一个命令了。

    supervisorctl status:查看所有进程的状态
    supervisorctl stop beanstalk:停止beanstalk
    supervisorctl start es:启动beanstalk
    supervisorctl restart beanstalk: 重启beanstalk
    supervisorctl update :配置文件修改后可以使用该命令加载新的配置
    supervisorctl reload: 重新启动配置中的所有程序
    

    贴张图我管理了两个进程。


    image.png

    如果需要新增配置文件或者有改动直接运行

    supervisorctl update
    

    更新就可以了。
    对了还有一个比较人性的功能就是可以web页面管理,在配置文件里开启。

    [inet_http_server]         ; inet (TCP) server disabled by default
    port=*:9502       ; ip_address:port specifier, *:port for all iface
    username=user              ; default is no username (open server)
    password=123               ; default is no password (open server)
    
    image.png

    可以停止,重启进程很方便。
    在supervisor安装启动过程中还是遇到了一些问题,比如启动报错,如果在启动或重新加载配置文件有报错大家自行解决下吧,因为我坚信自己解决的问题才会记忆深刻,提高自己的水平。

    相关文章

      网友评论

          本文标题:Supervisor使用记录

          本文链接:https://www.haomeiwen.com/subject/ckckrqtx.html