1.安装
yum install supervisor
2.
然后在 /etc/supervisor.d/ 目录下面创建一个 iot.ini 的文件,内容可以参考下面这些:
[program:idbp-idaas-admin]
environment=JAVA_HOME=/usr/local/java/jdk1.8.0_60,DEPLOY_PATH=/data/idbp-application/idaas ; 这里可以创建环境变量
directory = /data/idbp-application/idaas ; 程序的启动目录
command = /usr/local/java/jdk1.8.0_60/bin/java -Xms256m -Xmx256m -Dspring.profiles.active=test -jar /data/idbp-application/idaas/idaas-admin.jar ; 启动命令,可以看出与手动在命令行启动的命令是一样的
autostart = true ; 在 supervisord 启动的时候也自动启动
startsecs = 30 ; 启动 30 秒后没有异常退出,就当作已经正常启动了
autorestart = true ; 程序异常退出后自动重启
startretries = 5 ; 启动失败自动重试次数,默认是 3
user = root ; 用哪个用户启动
redirect_stderr = true ; 把 stderr 重定向到 stdout,默认 false
stdout_logfile_maxbytes = 20MB ; stdout 日志文件大小,默认 50MB
stdout_logfile_backups = 20 ; stdout 日志文件备份数
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
stdout_logfile = /data/idbp-application/logs/idaas-admin.out ;应用日志目录
3.
需要创建日志目录logs
运行命令
supervisord -c /etc/supervisord.conf
4.
查看supervisord当前管理的所有进程的状态
supervisorctl status
启动进程
supervisorctl start usercenter #启动单个进程
supervisorctl start all #启动所有进程
停止进程
supervisorctl stop usercenter
supervisorctl stop all
重启进程
supervisorctl restart usercenter #或者使用supervisorctl reload: 重启
supervisorctl restart all
读取有更新(增加)的配置文件,不会启动新添加的程序
supervisorctl reread
将配置文件里新增的子进程加入进程组,如果设置了autostart=true则会启动新新增的子进程
supervisorctl update