supervisor来管理和监控进程

安装

 输入如下命令便可安装html

sudo apt-get install supervisor


配置文件说明

配置文件存放目录在
redis

cd /etc/supervisor/conf.d

一个服务对应一个.conf文件shell


如下是个人redis配置文件redis.conf
工具

[program:redis]
command=/usr/local/bin/redis-server /var/lib/redis/redis.conf
autostart=true
autorestart=true
user=redis
stdout_logfile=/var/log/redis/redis-stdout.log
stderr_logfile=/var/log/redis/redis-stderr.log

program:后面表示服务名字, 会显示在管理工具里面,我给它命名为redisspa

command表示须要运行的命令,每次start都会执行这个命令rest

autostart表示服务是否须要跟随supervisor启动日志

autorestart表示当服务挂掉的时候是否须要自动重启code

user表示使用哪一个用户运行该命令,我新建了一个专门的redis来跑redis服务,通常使用本身的帐号就好了,除非须要特殊权限server

stdout_logfilestderr_logfile用户存储标准输出和错误的日志文件htm

还有一些其余的参数,如environment存储环境标量,redirect_stderrstdout_logfile_backups等参数能够参考官方的文档说明

http://supervisord.org/configuration.html


使用方法

先进入管理界面

sudo supervisorctl

输入help能够看到有不少命令

通常最经常使用的就是start启动服务 stop中止服务  还有update就是从新读取全部的服务的配置,若是有新增的配置文件就会增一个服务,若是服务配置有更改会重启服务(慎用,若是你改了配置文件而不想马上重启服务)

supervisor> stop redis
redis: stopped
supervisor> start redis
redis: started
supervisor> restart redis
redis: stopped
redis: started
supervisor>


管理一组程序

有时候会有但愿同时启动或者关闭一组程序,那你可使用程序组,只须要在配置目录下面加上一个额外的配置文件便可

/etc/supervisor/conf.d


程序组的配置文件,在programs赋值为你须要管理的成员的服务名称,例如我这个组名叫test-group,它有两个成员test-group-1和test-group-2,每一个成员之间用逗号隔开便可

[group:test-group]
programs=test-group-1,test-group-2


组成员的配置文件和普通成员没什么区别

[program:test-group-1]
command=xxx
autostart=true
autorestart=true
user=redis
stdout_logfile=xxx
stderr_logfile=xxx
[program:test-group-2]
command=xxx
autostart=true
autorestart=true
user=redis
stdout_logfile=xxx
stderr_logfile=xxx


启动这个组的全部服务只须要在supervisorctl下面使用命令

supervisor> start test-group:*

中止和重启以及更新等其它命令相似使用


至关于supervisorctl内部的服务名字从test-group-1变为test-group:test-group-1 ,组名冒号服务名的格式。

相关文章
相关标签/搜索