目錄
- 概述
- 環境準備
- spring boot應用
- supervisor配置
- 啓動應用
概述
前面博文介紹了Supervisor進程管理,實際應用可以對springboot應用進行管理,如果springboot應用掛掉,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 ; 啓動失敗自動重試次數,默認是 3
user = test ; 用哪個用戶啓動
redirect_stderr = true ; 把 stderr 重定向到 stdout,默認 false
stdout_logfile_maxbytes = 20MB ; stdout 日誌文件大小,默認 50MB
stdout_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