美文网首页
supervisor 安装与nginx配置

supervisor 安装与nginx配置

作者: 大侠救命 | 来源:发表于2018-11-10 18:42 被阅读0次

    1、什么是supervisor

      superviosr是一个Linux/Unix系统上的进程监控工具,他/她upervisor是一个Python开发的通用的进程管理程序,可以管理和监控Linux上面的进程,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。不过同daemontools一样,它不能监控daemon进程

    2、supervisor 安装与nginx配置

      安装:

      yum install python-pip -y

      pip install supervisor

      生成配置文件

      echo_supervisord_conf > /etc/supervisord.conf

      修改配置文件

      vim /etc/supervisord.conf

      [inet_http_server] ; inet (TCP) server disabled by default

      port=0.0.0.0:9001 ; ip_address:port specifier, *:port for all iface

      username=user ; default is no username (open server)

      password=123 ; default is no password (open server)

      [include]

      files = /etc/supervisor/*.conf

      创建.conf目录     mkdir /etc/supervisor

      创建nginx配置文件  vim nginx.conf

      [program:nginx]

      autorestart=True

    autostart=True

      redirect_stderr=True

      ;environment=PATH=""  

      command=/usr/sbin/nginx -g 'daemon off;';注意一定要前台启动

      user=root

      ;process_name = %(program_name)s%(process_num)d

      ;numprocs=3  

      ;directory=/root/

      stdout_logfile_maxbytes=20MB

      stdout_logfile_backups=20

      ;stdout

      stdout_logfile=/var/log/supervisor/nginx.log

      stderr_logfile=/var/log/supervisor/nginx_error.log

    3、supervisord配置块详解:

    - logfile:log文件路径

    - logfile_maxbytes:log文件达到多少后自动进行轮转,单位是KB、MB、GB。如果设置为0则表示不限制日志文件大小

    - logfile_backups:轮转日志备份的数量,默认是10,如果设置为0,则不备份

    - loglevel:error、warn、info、debug、trace、blather、critical

    - pidfile:pid文件路径

    - umask:umask值,默认022

    - nodaemon:如果设置为true,则supervisord在前台启动,而不是以守护进程启动

    - minfds:supervisord在成功启动前可用的最小文件描述符数量,默认1024

    - minprocs:supervisord在成功启动前可用的最小进程描述符数量,默认200

    - nocleanup:防止supervisord在启动的时候清除已经存在的子进程日志文件

    - childlogdir:自动启动的子进程的日志目录

    - user:supervisord的运行用户

    - directory:supervisord以守护进程运行的时候切换到这个目录

    - strip_ansi:消除子进程日志文件中的转义序列

    - environment:一个k/v对的list列表

    4、program配置详解:

    - command:启动程序使用的命令,可以是绝对路径或者相对路径

    - process_name:一个python字符串表达式,用来表示supervisor进程启动的这个的名称,默认值是%(program_name)s

    - numprocs:Supervisor启动这个程序的多个实例,如果numprocs>1,则process_name的表达式必须包含%(process_num)s,默认是1

    - numprocs_start:一个int偏移值,当启动实例的时候用来计算numprocs的值

    - priority:权重,可以控制程序启动和关闭时的顺序,权重越低:越早启动,越晚关闭。默认值是999

    - autostart:如果设置为true,当supervisord启动的时候,进程会自动重启。

    - autorestart:值可以是false、true、unexpected。false:进程不会自动重启,unexpected:当程序退出时的退出码不是exitcodes中定义的时,进程会重启,true:进程会无条件重启当退出的时候。

    - startsecs:程序启动后等待多长时间后才认为程序启动成功

    - startretries:supervisord尝试启动一个程序时尝试的次数。默认是3

    - exitcodes:一个预期的退出返回码,默认是0,2。

    - stopsignal:当收到stop请求的时候,发送信号给程序,默认是TERM信号,也可以是 HUP, INT, QUIT, KILL, USR1, or USR2。

    - stopwaitsecs:在操作系统给supervisord发送SIGCHILD信号时等待的时间

    - stopasgroup:如果设置为true,则会使supervisor发送停止信号到整个进程组

    - killasgroup:如果设置为true,则在给程序发送SIGKILL信号的时候,会发送到整个进程组,它的子进程也会受到影响。

    - user:如果supervisord以root运行,则会使用这个设置用户启动子程序

    - redirect_stderr:如果设置为true,进程则会把标准错误输出到supervisord后台的标准输出文件描述符。

    - stdout_logfile:把进程的标准输出写入文件中,如果stdout_logfile没有设置或者设置为AUTO,则supervisor会自动选择一个文件位置。

    - stdout_logfile_maxbytes:标准输出log文件达到多少后自动进行轮转,单位是KB、MB、GB。如果设置为0则表示不限制日志文件大小

    - stdout_logfile_backups:标准输出日志轮转备份的数量,默认是10,如果设置为0,则不备份

    - stdout_capture_maxbytes:当进程处于stderr capture mode模式的时候,写入FIFO队列的最大bytes值,单位可以是KB、MB、GB

    - stdout_events_enabled:如果设置为true,当进程在写它的stderr到文件描述符的时候,PROCESS_LOG_STDERR事件会被触发

    - stderr_logfile:把进程的错误日志输出一个文件中,除非redirect_stderr参数被设置为true

    - stderr_logfile_maxbytes:错误log文件达到多少后自动进行轮转,单位是KB、MB、GB。如果设置为0则表示不限制日志文件大小

    - stderr_logfile_backups:错误日志轮转备份的数量,默认是10,如果设置为0,则不备份

    - stderr_capture_maxbytes:当进程处于stderr capture mode模式的时候,写入FIFO队列的最大bytes值,单位可以是KB、MB、GB

    - stderr_events_enabled:如果设置为true,当进程在写它的stderr到文件描述符的时候,PROCESS_LOG_STDERR事件会被触发

    - environment:一个k/v对的list列表

    - directory:supervisord在生成子进程的时候会切换到该目录

    - umask:设置进程的umask

    - serverurl:是否允许子进程和内部的HTTP服务通讯,如果设置为AUTO,supervisor会自动的构造一个url

    相关文章

      网友评论

          本文标题:supervisor 安装与nginx配置

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