最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux將Spring Boot項(xiàng)目的Jar包注冊(cè)為開機(jī)自啟動(dòng)系統(tǒng)服務(wù)的操作方法

 更新時(shí)間:2023年10月26日 12:04:14   作者:楊若瑜  
jar文件是從maven package打包出來(lái)的,config/application.yml是原先在項(xiàng)目的resources文件夾里,外置出來(lái)方便適配開發(fā)環(huán)境和正式環(huán)境,這篇文章主要介紹了Linux將Spring Boot項(xiàng)目的Jar包注冊(cè)為開機(jī)自啟動(dòng)系統(tǒng)服務(wù)的操作方法,需要的朋友可以參考下

有時(shí)候我們需要將Spring Boot打包出來(lái)jar文件當(dāng)做系統(tǒng)服務(wù)注冊(cè)到系統(tǒng)中,本文教你如何操作

目錄結(jié)構(gòu)

以下是目錄結(jié)構(gòu),jar文件是從maven package打包出來(lái)的,config/application.yml是原先在項(xiàng)目的resources文件夾里,外置出來(lái)方便適配開發(fā)環(huán)境和正式環(huán)境。static目錄用來(lái)存放靜態(tài)資源,比如vue前端或者上傳目錄。所有的.sh文件都是本文后續(xù)要寫的。

/data
	/start.sh 						   // 啟動(dòng)腳本
	/stop.sh						   // 關(guān)閉腳本
	/serviceStart.sh				   // 服務(wù)啟動(dòng)腳本
	/serviceStop.sh 				   // 服務(wù)關(guān)閉腳本
	/YumeisoftDemo-0.0.1-SNAPSHOT.jar  // 打包的項(xiàng)目Jar包
	/config							   // 配置文件目錄
		/application.yml			   // 項(xiàng)目配置文件
	/jdk							   // jdk目錄
	/static							   // 靜態(tài)資源目錄

編寫Service調(diào)用的腳本

配置腳本/data/config.sh,如果改包名,直接改這個(gè)文件即可

#!/bin/sh
# 配置JAR文件名,把它改成你的Jar文件名
SPRING_JARFILE=YumeisoftDemo-0.0.1-SNAPSHOT.jar
# 日志文件位置
LOG_FILE=system.log
# 獲取.sh所在路徑
INSTALL_DIR=$(cd $(dirname $0);pwd)
# 配置JDK路徑
JAVA_HOME=$INSTALL_DIR/jdk
# 設(shè)定PATH,不設(shè)會(huì)無(wú)法使用java命令
PATH=$JAVA_HOME/bin:$PATH

手動(dòng)啟動(dòng)服務(wù)腳本/data/start.sh,其中system.log是日志文件名

#!/bin/sh
# 讀取config.sh定義的內(nèi)容
source $INSTALL_DIR/config.sh
# 后臺(tái)方式運(yùn)行jar包
nohup java -jar $INSTALL_DIR/$SPRING_JARFILE > $INSTALL_DIR/$LOG_FILE 2>&1 &
# 顯示日志
tail -f $INSTALL_DIR/$LOG_FILE

手動(dòng)關(guān)閉服務(wù)腳本/data/stop.sh

#!/bin/sh
# 讀取config.sh定義的內(nèi)容
source $INSTALL_DIR/config.sh
# 獲取當(dāng)前項(xiàng)目運(yùn)行的進(jìn)程ID
PID=$(ps -ef | grep "java -jar $INSTALL_DIR/$SPRING_JARFILE" | grep -v grep | awk '{print $2}')

if [ -z "$PID" ]; then
	# 如果沒(méi)找到則提示未運(yùn)行
    echo "Spring Boot應(yīng)用未在運(yùn)行中."
else
	# 如果找到了,正常終止進(jìn)程
    kill $PID
    # 顯示日志
    tail -f $INSTALL_DIR/$LOG_FILE
    echo "Spring Boot應(yīng)用已停止."
fi

服務(wù)啟動(dòng)腳本/data/serviceStart.sh

#!/bin/sh
# 讀取config.sh定義的內(nèi)容
source $INSTALL_DIR/config.sh
# 后臺(tái)方式運(yùn)行jar包
nohup java -jar $INSTALL_DIR/$SPRING_JARFILE > $INSTALL_DIR/$LOG_FILE 2>&1 &

服務(wù)關(guān)閉腳本/data/serviceStop.sh

#!/bin/sh
# 讀取config.sh定義的內(nèi)容
source $INSTALL_DIR/config.sh
# 獲取當(dāng)前項(xiàng)目運(yùn)行的進(jìn)程ID
PID=$(ps -ef | grep "java -jar $INSTALL_DIR/$SPRING_JARFILE" | grep -v grep | awk '{print $2}')

if [ -z "$PID" ]; then
	# 如果沒(méi)找到則提示未運(yùn)行
    echo "Spring Boot應(yīng)用未在運(yùn)行中."
else
	# 如果找到了,正常終止進(jìn)程
    kill $PID
    echo "Spring Boot應(yīng)用已停止."
fi

賦權(quán)

不賦權(quán)是無(wú)法運(yùn)行的,所以我們要執(zhí)行以下命令:

chmod a+x /data/*.sh

創(chuàng)建一個(gè)Service

接下來(lái)我們把這個(gè)項(xiàng)目注冊(cè)為系統(tǒng)服務(wù),myService改成你要改成的服務(wù)名:

vim /etc/systemd/system/myService.service

因?yàn)橹皼](méi)有這個(gè)系統(tǒng)服務(wù),會(huì)創(chuàng)建一個(gè)新文件,這個(gè)文件就是系統(tǒng)服務(wù)的啟停配置文件,按一下a進(jìn)入編輯模式,把下面的代碼粘貼上去,然后按下Esc、冒號(hào)、輸入wq、回車。

[Unit]
Description=MyService
After=network.target
[Service]
Type=forking
ExecStart=/data/serviceStart.sh
ExecStop=/data/serviceStop.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target

這里面的ExecStart和ExecStop都是服務(wù)啟動(dòng)和服務(wù)停止腳本的絕對(duì)路徑。Description是指服務(wù)的描述信息,這里可以填中文,其他的不要改動(dòng)。

啟用并使用Service

做完以上步驟你就可以在服務(wù)器里執(zhí)行systemctl enable myService命令,即可啟用myService服務(wù),然后使用systemctl start myService即可啟動(dòng)服務(wù),systemctl stop myService即可關(guān)停服務(wù),system status myService命令可以看到服務(wù)的狀態(tài)。

到此這篇關(guān)于如何在Linux將Spring Boot項(xiàng)目的Jar包注冊(cè)為開機(jī)自啟動(dòng)系統(tǒng)服務(wù)的文章就介紹到這了,更多相關(guān)Spring Boot Jar包開機(jī)自啟動(dòng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解java中命令行模式的實(shí)現(xiàn)

    詳解java中命令行模式的實(shí)現(xiàn)

    命令模式是一種行為設(shè)計(jì)模式,它允許您將請(qǐng)求封裝為對(duì)象,以便您可以將其參數(shù)化、隊(duì)列化、記錄和撤銷,本文主要為大家介紹一下java實(shí)現(xiàn)命令模式的示例代碼,需要的可以參考下
    2023-09-09
  • Spring bean注冊(cè)到容器的總結(jié)

    Spring bean注冊(cè)到容器的總結(jié)

    這篇文章主要介紹了Spring bean注冊(cè)到容器的總結(jié),本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • springboot集成activiti全過(guò)程

    springboot集成activiti全過(guò)程

    文章介紹了在Spring Boot中集成Activiti時(shí)的配置和使用方法,包括在`pom.xml`中添加依賴、將`activiti.cfg.xml`文件放在`resources`目錄下、以及配置各種監(jiān)聽器來(lái)監(jiān)聽流程的不同階段
    2025-10-10
  • springSecurity之AuthenticationProvider用法解析

    springSecurity之AuthenticationProvider用法解析

    這篇文章主要介紹了springSecurity之AuthenticationProvider用法解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • spring boot與ktor整合的實(shí)現(xiàn)方法

    spring boot與ktor整合的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于spring boot與ktor整合的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java深入講解instanceof關(guān)鍵字的使用

    Java深入講解instanceof關(guān)鍵字的使用

    instanceof 是 Java 的一個(gè)二元操作符,類似于 ==,>,< 等操作符。instanceof 是 Java 的保留關(guān)鍵字。它的作用是測(cè)試它左邊的對(duì)象是否是它右邊的類的實(shí)例,返回 boolean 的數(shù)據(jù)類型
    2022-05-05
  • Springboot整合hutool驗(yàn)證碼的實(shí)例代碼

    Springboot整合hutool驗(yàn)證碼的實(shí)例代碼

    在 Spring Boot 中,你可以將 Hutool 生成驗(yàn)證碼的功能集成到 RESTful API 接口中,這篇文章主要介紹了Springboot整合hutool驗(yàn)證碼,需要的朋友可以參考下
    2024-08-08
  • Java中stream.map和stream.forEach的區(qū)別

    Java中stream.map和stream.forEach的區(qū)別

    本文主要介紹了Java中stream.map和stream.forEach的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Java實(shí)現(xiàn)貪吃蛇游戲源碼

    Java實(shí)現(xiàn)貪吃蛇游戲源碼

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)貪吃蛇游戲源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Spring Boot與Redisson實(shí)時(shí)排行榜功能

    Spring Boot與Redisson實(shí)時(shí)排行榜功能

    排行榜功能是常見且重要的需求之一,本文主要介紹了Spring Boot與Redisson實(shí)時(shí)排行榜功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05

最新評(píng)論

郁南县| 长垣县| 南丰县| 宁蒗| 增城市| 息烽县| 香格里拉县| 鲁山县| 舞钢市| 洪湖市| 峡江县| 盖州市| 屯门区| 浪卡子县| 图片| 永靖县| 富宁县| 自治县| 麻栗坡县| 德阳市| 扎赉特旗| 绥江县| 靖安县| 岗巴县| 南雄市| 武山县| 随州市| 巴里| 叶城县| 潼南县| 呼图壁县| 襄垣县| 襄城县| 从江县| 沈丘县| 江华| 贵阳市| 台江县| 六盘水市| 布尔津县| 关岭|