目录
- 概述
- 环境准备
- spring boot应用
- supervisor配置
- 启动应用
概述
前面博文介绍了Supervisor进程管理,实际应用可以对springboot应用进行管理,如果springboot应用挂掉,Supervisor还可以对它进行自动重启.
点击查看进程管理利器Supervisor--入门简介
点击查看进程管理利器Supervisor--centos7下安装与卸载
转帖请注明原贴地址:https://my.oschina.net/u/2342969/blog/2986183
环境准备
- Supervisor3.3.4
- 可运行的springboot应用
spring boot 应用
这里就不赘述了,自行百度创建一个,本文应用名叫做: springboot-test.jar,放置目录在:/opt/apps
supervisor配置
需要结合博文进程管理利器Supervisor--centos7下安装与卸载
#vim /etc/supervisor/conf.d/springboot-test.conf
配置内容如下:
[program:mohurd-search]environment=JAVA_HOME=/opt/jdk1.8.0/bin ; 这里可以创建环境变量directory = /opt/apps ; 程序的启动目录command = /opt/jdk1.8.0/bin/java -Xms2048m -Xmx4096m -Dspring.profiles.active=prd -Dserver.port=8081 -jar /opt/apps/springboot-test.jar ; 启动命令,可以看出与手动在命令行启动的命令是一样的autostart = true ; 在 supervisord 启动的时候也自动启动startsecs = 30 ; 启动 30 秒后没有异常退出,就当作已经正常启动了autorestart = true ; 程序异常退出后自动重启startretries = 3 ; 启动失败自动重试次数,默认是 3user = test ; 用哪个用户启动redirect_stderr = true ; 把 stderr 重定向到 stdout,默认 falsestdout_logfile_maxbytes = 20MB ; stdout 日志文件大小,默认 50MBstdout_logfile_backups = 20 ; stdout 日志文件备份数; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)stdout_logfile = /var/log/springboot-test.log ;应用日志目录
启动应用
可以通过上一篇博文中的web控制台或者命令行启动, 命令行启动如下:
# 读取有更新(增加)的配置文件,不会启动新添加的程序
supervisorctl reread
# 重启配置文件修改过的程序
supervisorctl update
# 关闭程序
supervisorctl stop springboot-test
# 启动程序
supervisorctl start springboot-test
# 重启
supervisorctl restart springboot-test