記一次 Centos7 supervisor 配置管理 SpringBoot 進程

一、環境搭建

參考:https://blog.csdn.net/llwy1428/article/details/105335108

二、配置管理進程

進程管理配置參數,不建議全都寫在supervisord.conf文件中,可以將每個進程寫一個配置文件放在include指定的目錄下引入進supervisord.conf文件中。

創建/etc/supervisor.d目錄,用於存放進程管理的配置文件。(此處目錄可自定義,與配置文件中對應即可)

[root@localhost ~]# mkdir /etc/supervisord.d

修改 /etc/supervisord.conf 中的include參數,將 /etc/supervisor.d 目錄添加到 include 中

[include]
files = /etc/supervisord.d/*.ini

說明:*.ini   是可以指定一個或多個以.ini結束的配置文件。

三、服務配置模板

1、創建一個 Java  SpringBoot 的程序 HelloSupervisor 

2、打成 jar 包(過程略)

3、創建目錄:

[root@localhost ~]# mkdir /opt/HelloSupervisor
[root@localhost ~]# mkdir /opt/HelloSupervisor/logs

4、安裝 JDK

參考 https://blog.csdn.net/llwy1428/article/details/85232267

5、把 jar 包上傳至目錄 /opt/HelloSupervisor

6、編輯 HelloSupervisor 的配置模板

[root@localhost ~]# vim /etc/supervisord.d/HelloSupervisor.ini

 7、寫入以下內容

;[program:HelloSupervisor]是被管理的進程配置參數,tomcat是進程的名稱
[program:HelloSupervisor]
environment=JAVA_HOME=/opt/jdk1.8.0_241/bin  ; 這裏可以創建環境變量
directory=/opt/HelloSupervisor ; 程序的啓動目錄
command=/opt/jdk1.8.0_241/bin/java -Xms512m -Xmx1024m -Dspring.profiles.active=prd -Dserver.port=8080 -jar /opt/HelloSupervisor/HelloSupervisor.jar ; 啓動命令,可以看出與手動在命令行啓動的命令是一樣的
autostart=true       ; 在supervisord啓動的時候也自動啓動
startsecs=10         ; 啓動10秒後沒有異常退出,就表示進程正常啓動了,默認爲1秒
autorestart=true     ; 程序退出後自動重啓,可選值:[unexpected,true,false],默認爲unexpected,表示進程意外殺死後才>重啓
startretries=3       ; 啓動失敗自動重試次數,默認是3
user=root          ; 用哪個用戶啓動進程,默認是root
priority=999         ; 進程啓動優先級,默認999,值小的優先啓動
redirect_stderr=true ; 把stderr重定向到stdout,默認false
stdout_logfile_maxbytes=20MB  ; stdout 日誌文件大小,默認50MB
stdout_logfile_backups = 20   ; stdout 日誌文件備份數,默認是10
; stdout 日誌文件,需要注意當指定目錄不存在時無法正常啓動,所以需要手動創建目錄(supervisord 會自動創建日誌文件)
stdout_logfile=/opt/HelloSupervisor/logs/log.log
stopasgroup=false     ;默認爲false,進程被殺死時,是否向這個進程組發送stop信號,包括子進程
killasgroup=false     ;默認爲false,向進程組發送kill信號,包括子進程

8、修改配置文件的權限

[root@localhost ~]# chmod 755 /etc/supervisord.d/HelloSupervisor.ini

9、重啓服務

[root@localhost ~]# systemctl restart supervisord.service

10、瀏覽器查看 

瀏覽器地址欄錄入:     http://192.168.11.17:9001/          192.168.11.17 是我虛擬機的 ip

可看到 HelloSupervisor 服務已經在運行

11、查看運行狀態

[root@localhost ~]# netstat -lntp

HelloSupervisor 佔用端口 8080 可看到服務已啓動

四、服務啓動、重啓、配置重載與服務關閉

1、啓動指定服務(以 HelloSupervisor 爲例)

[root@localhost ~]# supervisorctl start HelloSupervisor 

2、停止指定服務(以 HelloSupervisor 爲例)

[root@localhost ~]# supervisorctl stop HelloSupervisor 

3、重啓指定服務(以 HelloSupervisor 爲例)

[root@localhost ~]# supervisorctl restart HelloSupervisor 

4、啓動 supervisor 服務

[root@localhost ~]# systemctl start supervisord

5、停止 supervisor 服務

[root@localhost ~]# systemctl stop supervisord

6、查看  supervisor 服務運行狀態

[root@localhost ~]# systemctl status supervisord

7、supervisor 重新加載配置信息

[root@localhost ~]# systemctl reload supervisord

8、supervisor 服務 重啓

[root@localhost ~]# systemctl restart supervisord

 

至此,Centos7 supervisor 配置管理 SpringBoot 進程操作完畢!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章