linux(centos)下安裝supervisor進程管理工具

linux(centos)下安裝supervisor進程管理工具
在接觸supervisor進程管理工具之前,使用springboot打包部署到linux服務器的流程是這樣子的,如下圖所示:
流程展示
上圖展示的就是最一般的流程,如果項目是小項目或者demo可以這樣子去部署,但是實際生產中會有各種各樣的問題存在,比如:

項目發佈之後,由於各種可能的原因,服務器宕機或者服務進程掛掉,不能自動重啓;
如果項目是頻繁更新,頻繁發佈,這樣子簡直會把人累死;
...

ok,今天先來解決第一個問題,服務重啓的問題。

supervisor介紹
Supervisor,是一個進程控制系統,是一個客戶端/服務器端系統允許用戶在UNIX-LIKE 操作系統中去監控,控制一些進程。Supervisor作爲主進程,Supervisor下管理的時一些子進程,當某一個子進程異常退出時,Supervisor會立馬對此做處理,通常會守護進程,重啓該進程,保證進程可用。

supervisor安裝
一般服務器都部署在ecs上面,推薦使用yum命令安裝,簡單省心。
首先,使用命令

yum -y install supervisor
supervisor配置
系統會自動安裝,等待安裝完畢之後,輸入命令:

vim /etc/supervisor.d/test.ini
使用vim命令新建一個test.ini文件,該文件是管控進程的配置文件,內容大致如下,可根據個人需要增刪配置:

啓動程序的名稱

[program:test]
#配置的java啓動環境
environment=JAVA_HOME=/app/jdk/jdk1/bin

啓動命令

command= /app/jdk/jdk1/bin/java -Xms2048m -Xmx4096m -Dspring.profiles.active=dev -Dserver.port=8080 -jar /app/jar/test.jar

jar所在文件目錄

directory=/app/jar

用戶

user=root
stopsignal=INT

自動啓動

autostart=true

自動重啓

autorestart=true

重啓時間1s

startsecs=1

錯誤日誌

stderr_logfile=/app/log/sp/test.err.log

標準打印日誌,滿50MB區分

stdout_logfile=/app/log/sp/test.out.log
至此,supervisor配置結束,如果有多個jar項目要跑,可以複製多個ini項目,注意內存分配。

supervisor啓動
使用如下命令來啓動或者更新supervisor,

啓動supervisor

systemctl start supervisord

更新配置文件

supervisorctl update

啓動某個應用

supervisorctl start aaaa
supervisorctl stop aaaa

查看狀態

supervisorctl status
總結
使用supervisor工具之後,可以把自己解放出來,不用再擔心深夜服務停掉而自己不知道的問題,由於服務器部署在阿里雲上面,只要不是大規模斷電等極其意外的情況,都可以保證在服務器不掛的情況下,保證系統的正常運轉。
晚上終於可以安心睡覺了,下篇文章採用持續集成解決第二個問題。
原文地址https://www.cnblogs.com/yunjiandubu/p/10801315.html

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