supervisor使用小记

介绍

supervisor是一个利用python开发的进程管理工具,可以控制其所管理的进程,包括但不限于其所管理程序异常退出时的重启

安装

利用linux自带的包管理命令或者python的包管理命令即可安装

Debian

apt-get install supervisor

Cent

yum install supervisor

Arch

pacman -S supervisor

pip

pip install supervisor

配置文件

不同的安装方式配置文件所在的目录可能有所差异,甚至没有生成默认的配置文件,以arch为例配置文件在/etc目录下,路径为/etc/supervisord.conf。一般来说/etc目录就是存放各种配置文件的。如果配置文件不存在,或者想修改配置文件目录,使用下面命令:

echo_supervisord_conf > /路径名/supervisord.conf

重点关注文件最后两行,

[include]
/etc/supervisor.d/*.ini

这里写的是所管理的进程的配置文件所在路径以及文件格式,可以看到默认的是.ini文件也可以修改为.conf文件

启动supervisord

第一次启动命令

supervisord -c /etc/supervisord.conf

设置开机自启

systemctl enable supervisord

子进程配置文件

正如上面所介绍,supervisor的子进程配置文件目录已经在supervisord.conf文件中写好,或者你也可以修改为自定义的目录,

supervisord管理的进程可以有多个,多个进程的配置文件可以写在多个文件中,也可以写在一个配置文件中,通常是一个项目相关的进程写在一个文件中,

配置文件模版(.conf文件):

[program:blog]                           ;项目名
directory=/opt/bin                       ;脚本目录
command=/usr/bin/python /opt/bin/test.py ;脚本执行命令
autostart=true                         ;supervisor启动的时候是否随着同时启动,默认True
autorestart=false                      ;当程序exit的时候,这个program不会自动重启,默认unexpected,设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的

startsecs=1                            ;这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了。默认值为1

user = test                            ;脚本运行的用户身份 
stderr_logfile=/tmp/blog_stderr.log    ;标准错误日志输出 
stdout_logfile=/tmp/blog_stdout.log    ;标准输出日志输出 
redirect_stderr = true                 ;把stderr重定向到stdout,默认 false
stdout_logfile_maxbytes = 20MB         ;stdout日志文件大小,默认 50MB
stdout_logfile_backups = 20            ;stdout日志文件备份数

supervisorctl命令

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

注:把es换成all可以管理配置中的所有进程。直接输入supervisorctl进入supervisorctl的shell交互界面,此时上面的命令不带supervisorctl可直接使用。

posted @ 2021-03-18 10:09  KainHuck  阅读(233)  评论(0编辑  收藏  举报