博客
关于我
supervisor简洁用例
阅读量:444 次
发布时间:2019-03-06

本文共 2774 字,大约阅读时间需要 9 分钟。

  • supervisor是什么

    superviosr是一个Linux/Unix系统上进程监控和管理的工具,它由python编写,可以用pip安装。supervisor能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启

  • 为什么要使用supervisor

    supervisor可以实现单个或成组地控制进程,它可以把web服务的进程组当作自己的子进程,在子进程挂掉时重启。对一组进程进行统一管理是linux没有的功能

  • supervisor组件

    supervisord是管理其他进程的主进程

    supervisorctl是supervisor客户端的命令行工具

  • 主配置文件supervisord.conf

  1. unix_http_server 配置块

    在该配置块的参数项表示的是一个监听在socket上的HTTP server

    [unix_http_server]file=/tmp/supervisor.sock   ; (the path to the socket file)chmod=0766                 ; socket file mode (default 0700)
    • file: unix domain socket的文件路径。supervisorctl通过它与supervisord进行通信

    • chmod: 修改supervisor.sock文件的权限

  2. supervisord 配置块

    该配置块的参数项是关于supervisord进程的全局配置项

    [supervisord]logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)logfile_maxbytes=50MB        ; (max main logfile bytes b4 rotation;default 50MB)logfile_backups=10           ; (num of main logfile rotation backups;default 10)loglevel=info                ; (log level;default info; others: debug,warn,trace)pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)nodaemon=false               ; (start in foreground if true;default false)minfds=1024                  ; (min. avail startup file descriptors;default 1024)minprocs=200                 ; (min. avail process descriptors;default 200)
    • logfile: log文件路径。与子进程的日志不同

    • logfile_maxbytes: log文件达到多少自动进行轮转,单位是kb、单位是KB、MB、GB。如果设置为0则表示不限制日志文件大小。当日志大小超过50MB时,生成一个新的日志文件

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

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

    • pidfile:pid文件路径

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

    • minfds:supervisord在成功启动前最少系统空闲的文件描述符,默认1024

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

  3. supervisorctl配置块

    [supervisorctl]serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket
    • serverurl: 这个是supervisorctl本地连接supervisord的时候,本地UNIX socket路径,注意这个是和前面的[unix_http_server]对应的
      默认值就是unix:///tmp/supervisor.sock
  4. rpcinterface配置块

    这个选项是给XML_RPC用的,如果想使用supervisord或者web server这个选项必须要开启

    [rpcinterface:supervisor]supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
  5. include配置块

    用于将写在cong.d中的*.ini文件内容读入主配置文件

    一般一个ini文件包含一个program配置块。用于配置web服务进程的启动命令、目录、日志位置等

    [include]files = /etc/supervisor/conf.d/*.ini
  • program配置块

    [program:myserver]command=/home/my_web_server/venv/bin/gunicorn -w4 -b0.0.0.0:8105 app.wsgi:applicationdirectory=/home/my_web_server/user=deploystdout_logfile=/home/logs/server.logstderr_logfile=/home/logs/server.err.log
    • command:启动程序使用的命令,可以是绝对路径也可以是相对路径

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

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

    • stdout_logfile:进程标准输出的文件位置

    • stderr_logfile:进程错误日志输出的文件位置

    还有一些可选配置:

    • autorestart = true 在子进程挂掉后重启

    • priority=1子进程启动关闭优先级,优先级低的,最先启动,关闭的时候最后关闭。数字越高,优先级越高

    • numprocs=1启动进程的数目

  • 在新建了ini配置文件后,要用supervisorctl重新加载配置文件

    supervisorctl reload

转载地址:http://zulyz.baihongyu.com/

你可能感兴趣的文章
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>
NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
查看>>
NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
NIFI同步MySql数据源数据_到原始库hbase_同时对数据进行实时分析处理_同步到清洗库_实际操作06---大数据之Nifi工作笔记0046
查看>>