zoukankan      html  css  js  c++  java
  • ubuntu-server下安装配置supervisor进程管理

    目的:使用supervisor进行进程管理,方便使用。

    操作:

    > sudo apt-get install supervisor # 安装supervisor

      1、安装完成后,/etc/supervisor/supervisord.conf 是supervisor的主要配置文件。

        supervisor的配置文件默认是不全的,不过在大部分默认的情况下,上面说的基本功能已经满足。

        supervisor的配置参数较多,详细的配置及说明请百度。

        注:分号(;)开头的配置表示注释

        [unix_http_server]

        file=/tmp/supervisor.sock   ;UNIX socket 文件,supervisorctl 会使用
        ;chmod=0700                 ;socket文件的mode,默认是0700
        ;chown=nobody:nogroup       ;socket文件的owner,格式:uid:gid
     
        ;[inet_http_server]         ;HTTP服务器,提供web管理界面
        ;port=127.0.0.1:9001        ;Web管理后台运行的IP和端口,如果开放到公网,需要注意安全性
        ;username=user              ;登录管理后台的用户名
        ;password=123               ;登录管理后台的密码
     
        [supervisord]
        logfile=/tmp/supervisord.log ;日志文件,默认是 $CWD/supervisord.log
        logfile_maxbytes=50MB        ;日志文件大小,超出会rotate,默认 50MB,如果设成0,表示不限制大小
        logfile_backups=10           ;日志文件保留备份数量默认10,设为0表示不备份
        loglevel=info                ;日志级别,默认info,其它: debug,warn,trace
        pidfile=/tmp/supervisord.pid ;pid 文件
        nodaemon=false               ;是否在前台启动,默认是false,即以 daemon 的方式启动
        minfds=1024                  ;可以打开的文件描述符的最小值,默认 1024
        minprocs=200                 ;可以打开的进程数的最小值,默认 200
     
        [supervisorctl]
        serverurl=unix:///tmp/supervisor.sock ;通过UNIX socket连接supervisord,路径与unix_http_server部分的file一致
        ;serverurl=http://127.0.0.1:9001 ; 通过HTTP的方式连接supervisord
        
        [program:xxx] # 这个是我们配置被管理进程的参数,xxx是进程名,也可以将其单独卸载[include]下指定的目录中,并以指定的后缀结尾
        省略....(下面会写)
        
        ;包含其它配置文件
        [include]
        files = relative/directory/*.ini    ;可以指定一个或多个以.ini结束的配置文件
        # files = /etc/supervisor/conf.d/*.conf  ;这样写也是ok的,由自己指定,以后就可以将自己的进程配置文件放在这个目录下
     
      2、/etc/supervisor/conf.d/*.conf 这个地方就是上面管理进程所放的文件夹
        开始给自己需要的脚本程序编写一个子进程配置文件,让supervisor来管理它,
        放在/etc/supervisor/conf.d/目录下,以.conf作为扩展名(每个进程的配置文件都可以单独分拆也可以把相关的脚本放一起)。
        如任意定义一个和脚本相关的项目名称的选项组(/etc/supervisor/conf.d/test.conf)  

          #项目名
          [program:blog]
          #脚本目录
          directory=/opt/bin
          #脚本执行命令
          command=/usr/bin/python /opt/bin/test.py
          #supervisor启动的时候是否随着同时启动,默认True
          autostart=true
          #当程序exit的时候,这个program不会自动重启,默认unexpected
          #设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的
          autorestart=false
          #这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了。默认值为1
          startsecs=1
          #日志输出
          stderr_logfile=/tmp/blog_stderr.log
          stdout_logfile=/tmp/blog_stdout.log
          #脚本运行的用户身份
          user = zhoujy
          #把 stderr 重定向到 stdout,默认 false
          redirect_stderr = true
          #stdout 日志文件大小,默认 50MB
          stdout_logfile_maxbytes = 20M
          #stdout 日志文件备份数
          stdout_logfile_backups = 20

    > supervisord # 启动supervisor服务

      注意:执行supervisord时出现supervisor error :Another program is already listening on a port that one of our HTTP servers is,说明你的supervisord已经启动了,通过 ps -ef | grep supervisord 来查看进程,可以kill他再重新起。

    附上一些命令:

      supervisord -c /etc/supervisord.conf   # supervisor服务启动

      supervisorctl # 服务客户端管理(在supervisorctl客户端下help一下)

        supervisorctl status //查看状态

        supervisorctl start web_server // 开启一个进程(web_server=你配置中写的程序名称)

        supervisorctl stop web_server //停止一个进程

        supervisorctl restart web_server //重启一个进程

        supervisorctl reload # 重新启动配置中的所有程序,更改了supervisor的配置后执行一下

        supervisorctl reread // 重新加载配置,更改了进程配置后

        supervisorctl update // 更新启动列表,更改了进程配置后

    参考:

    https://www.cnblogs.com/xuezhigu/p/7660203.html

    http://www.cnblogs.com/taek/p/8465393.html

    ........

      

  • 相关阅读:
    June 26th 2017 Week 26th Monday
    June 25th 2017 Week 26th Sunday
    June 24th 2017 Week 25th Saturday
    June 23rd 2017 Week 25th Friday
    June 22nd 2017 Week 25th Thursday
    2018最佳网页设计:就是要你灵感爆棚!!!
    图片素材类Web原型制作分享-Pexels
    想要打动HR的心,UX设计师求职信究竟应该怎么写?
    【UXPA大赛企业专访】Mockplus:“设计替代开发”将成为现实
    2018年最好的医疗网站设计及配色赏析
  • 原文地址:https://www.cnblogs.com/enochmeng/p/9779112.html
Copyright © 2011-2022 走看看