supervisor安装配置说明

1. 安装supervisor

yum install supervisor-3.1.4-1.el7

supervisor已经放到5giot的yum源中,若无法安装则更新一下yum配置:

yum clean all

yum makechche

然后再执行yum install supervisor操作。

2. 配置supervisord

supervisord的配置文件默认放在/etc文件夹中,

vim /etc/supervisord.conf

可以看到它的内容为:

[include]

files = supervisord.d/*.conf

即将supervisord.d目录下的所有以.conf文件结尾的文件包含进来,通常具体的服务配置放在supervisord.d目录下,以.conf或.ini结尾,再通过include的方式包含进来。

下面以配置的services.conf文件中的ac-access服务为例介绍supervisord配置(红色地方需改成本机配置),详细配置介绍放到附录中。

[program:ac-access]     //服务名称

command=/root/services_update/ac-access/ac-access    //执行文件

-log_dir=/var/log/nb-iot-platform/ac-blobstore      //日志目录

directory=/root/services_update/ac-access      //执行命令存放目录

user=root             //该program的启动用户

startsecs=1       //子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功

stopwaitsecs=1    //当我们向子进程发送stopsignal信号后,到系统返回信息给supervisord,所等待的最大时间。超过这个时间,supervisord会向该子进程发送一个强制kill的信号。

startretries=3     //进程启动失败后,最大尝试启动的次数。当超过3次后,supervisor将把此进程的状态置为FAIL

autostart=true    //如果是true的话,子进程将在supervisord启动后被自动启动

autorestart=true    //这个是设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。

stdout_logfile=/var/log/nb-iot-platform/ac-access/stdout.log    //子进程的stdout的日志路径

stderr_logfile=/var/log/nb-iot-platform/ac-access/stderr.log    //设置stderr写的日志路径

3. 启动supervisord

以下启动顺序由上到下优先级,依次递减

supervisord     //默认去找$CWD/supervisord.conf,也就是当前目录

supervisord    //默认$CWD/etc/supervisord.conf,也就当前目录下的etc目录

supervisord     //默认去找/etc/supervisord.conf的配置文件

supervisord -c /home/supervisord.conf     //到指定路径下去找配置文件

4. 利用supervisorctl控制进程

一、添加好配置文件后,更新新的配置到supervisord

supervisorctl update

二、重新启动配置中的所有程序

supervisorctl reload

三、查看当前的进程

supervisorctl status

四、启动某个进程(program_name=你配置中写的程序名称)

supervisorctl start program_name

五、停止某一进程 (program_name=你配置中写的程序名称)

pervisorctl stop program_name

六、重启某一进程 (program_name=你配置中写的程序名称)

supervisorctl restart program_name

七、停止全部进程

supervisorctl stop all

注意:用stop停止掉的进程,用reload或者update都不会自动重启。

 

附录:(supervisord配置文件详细说明)

[unix_http_server]            

file=/tmp/supervisor.sock   ; socket文件的路径,supervisorctl用XML_RPC和supervisord通信就是通过它进行 的。如果不设置的话,supervisorctl也就不能用了,不设置的话,默认为none。 非必须设置        

;chmod=0700                 ; 这个简单,就是修改上面的那个socket文件的权限为0700

                              不设置的话,默认为0700。 非必须设置

;chown=nobody:nogroup       ; 这个一样,修改上面的那个socket文件的属组为user.group

                              不设置的话,默认为启动supervisord进程的用户及属组。非必须设置

;username=user              ; 使用supervisorctl连接的时候,认证的用户

                               不设置的话,默认为不需要用户。 非必须设置

;password=123               ; 和上面的用户名对应的密码,可以直接使用明码,也可以使用SHA加密

                              如:{SHA}82ab876d1387bfafe46cc1c8a2ef074eae50cb1d

                              默认不设置。。。非必须设置

 

;[inet_http_server]         ; 侦听在TCP上的socket,Web Server和远程的supervisorctl都要用到他

                              不设置的话,默认为不开启。非必须设置

;port=127.0.0.1:9001        ; 这个是侦听的IP和端口,侦听所有IP用 :9001或*:9001。

                              这个必须设置,只要上面的[inet_http_server]开启了,就必须设置它

;username=user              ; 这个和上面的uinx_http_server一个样。非必须设置

;password=123               

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值