上文 supervisor基本使用方法教程,我们重点了supervisor的基本使用方法,并未对它进行过多的展开。我们知道supervisor有三个重要的部分 supervisord、supervisorctl、inet_http_server 组成,但我认为隐藏在三部分后面的配置文件,才需要重点关注和学习,毕竟它控制着所有的表现属性。为了比较好的掌握supervisor的使用,本文我们对supervisor的配置文件进行重点分析。
配置文件生成
上文我们使用apt安装supervisor,它自带了基本可用的 /etc/supervisor/supervisord.conf 配置文件,但我们知道supervisor是python程序,完全可以使用pip安装。pip安装的程序,不会帮我们主动安装该配置文件。但它提供了一个 echo_supervisord_conf 程序,可以生成配置文件。
如果我们使用pip安装的程序,或者不小心删除了 /etc/supervisor/supervisord.conf ,我们使用方法如下生成该配置文件:
1 | $ echo_supervisord_conf > ${path_for_supervisor}/supervisord.conf |
在我的服务器上,基于supervisor-v4.2.1生成的配置文件,可点击查看。
配置文件格式
supervisord.conf 文件采用ini语法,我们提取其主干,该文件主要有下面几个段组成:
1 | [unix_http_server] |
section: supervisord
1 | logfile=/tmp/supervisord.log ; 主日志文件,默认是:$CWD/supervisord.log |
section: program
该段我们不建议写在主配置文件中,建议应当结合include段,将其放置到独立目录,然后由supervisord.conf文件 include 进来。
比如主配置文件为:/etc/supervisor/supervisord.conf,创建子进程配置文件夹:/etc/supervisor/conf.d,然后所有子进程文件放到该目录下。
比如有个子进程名称为 httpserver,我们创建其配置文件为:/etc/supervisor/conf.d/httpserver.conf。
1 | [program:theprogramname] |