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

SpringBoot項目Jar包使用systemctl運行過程

 更新時間:2025年03月24日 09:59:02   作者:太自由  
這篇文章主要介紹了SpringBoot項目Jar包使用systemctl運行過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

1. 前言

SpringBoot項目打成jar包后,可以直接使用 java -jar xxx.jar 啟動。但是為了方便啟動和停止服務(wù),通常我們會寫兩個腳本,分別是啟動腳本 start.sh 和 停止腳本 shutdown.sh(這兩個腳本內(nèi)容我們下文會實現(xiàn));

再進一步的做法是可以把我們的服務(wù)添加成系統(tǒng)服務(wù),使用systemctl 進行管理,就像使用 systemctl status firewalld.service 一樣。

2. 創(chuàng)建SpringBoot項目并生成jar包

為了演示,先創(chuàng)建一個最普通的SpringBoot項目,在項目中使用 SLFJ + Logback記錄日志。

項目目錄結(jié)構(gòu)如下。

3. 使用 java -jar 命令在服務(wù)器上運行

3.1 前臺運行

前臺運行,直接在jar包所在目錄執(zhí)行 java -jar xxx.jar 就可以了,如下所示:

3.2 后臺運行(帶nohup.out日志)

通常我們是讓服務(wù)在后臺運行,可以使用 nohup java -jar xxx.jar & 運行jar包,如下:

這種直接使用 nohup java -jar xxx.jar & 運行jar包會產(chǎn)生一個 nohup.out日志文件,在項目運行過程中的日志都會追加到這個文件中,時間長了這個文件就會非常大,容易打滿磁盤,浪費硬盤存儲空間。

3.3 后臺運行(不帶nohup.out日志)

因為我們的項目通常集成了 SLFJ + Logback 進行日志記錄,所以不需要生成這個文件,可以使用如下命令運行jar包。

nohup java -jar xxx.jar >/dev/null 2>&1 &

4. 使用腳本實現(xiàn)啟動和停止jar包

每次使用 nohup java -jar xxx.jar >/dev/null 2>&1 & 運行項目太麻煩,并且在關(guān)閉服務(wù)時,還要先找到這個服務(wù)的進程號,然后才能關(guān)閉。

所以可以把啟動項目和關(guān)閉項目寫成腳本,每次只要執(zhí)行腳本就可以了。

4.1 啟動服務(wù)腳本

啟動服務(wù)腳本如下:

#!/bin/bash
pid=$(pgrep -f 你的jar包名稱.jar)
if [ -z $pid ];then
    nohup java -jar 你的jar包名稱.jar >/dev/null 2>&1 &
else
    echo "你的jar包名稱.jar is already running [pid is $pid]" 
fi

比如我的啟動腳本如下:

啟動項目的過程如下:

4.2 停止服務(wù)腳本

停止服務(wù)腳本如下:

#!/bin/bash
pid=$(pgrep -f 你的jar名字.jar)
echo $pid
if [ -z $pid ];then
    echo "你的jar名字.jar is not running"
else
    kill -15 $pid
fi

比如我的停止服務(wù)腳本如下:

執(zhí)行停止服務(wù)腳本過程如下:

5. 使用systemctl 命令管理jar包的啟動和停止

5.1 添加到系統(tǒng)服務(wù)

(1)寫一個服務(wù)腳本,名稱以 .service結(jié)尾 【我寫的是 demo-service.service,其內(nèi)容如下,你可以參照下面的寫法,修改成你自己的】

[Unit]
Description=demo-service
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/myJar/run_jar
ExecStart=/opt/software/jdk/jdk8/jdk1.8.0_221/bin/java -jar /opt/myJar/run_jar/demo-project-1-1.0-SNAPSHOT.jar
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

(2)把此文件,即demo-service.service 放到 /usr/lib/systemd/system/ 目錄下

(3)執(zhí)行 systemctl daemon-reload 命令

5.2 如何使用

使用請看圖中說明。

還可以把啟動服務(wù)添加到開機自啟,執(zhí)行如下命令,當(dāng)服務(wù)器重啟后就會自動啟動服務(wù)。

systemctl enable demo-service.service

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • RabbitMQ 最常用的三大模式實例解析

    RabbitMQ 最常用的三大模式實例解析

    這篇文章主要介紹了RabbitMQ 最常用的三大模式實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 老生常談java中的fail-fast機制

    老生常談java中的fail-fast機制

    下面小編就為大家?guī)硪黄仙U刯ava中的fail-fast機制。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java Robot應(yīng)用示例之機器人功能

    Java Robot應(yīng)用示例之機器人功能

    這篇文章主要為大家詳細介紹了Java Robot應(yīng)用示例之機器人功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 使用maven編譯Java項目實例

    使用maven編譯Java項目實例

    這篇文章主要介紹了使用maven編譯Java項目實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下
    2019-06-06
  • SpringBoot項目打包war包時無法運行問題的解決方式

    SpringBoot項目打包war包時無法運行問題的解決方式

    在開發(fā)工程中,使用啟動類啟動能夠正常啟動并測試,下面這篇文章主要給大家介紹了關(guān)于SpringBoot項目打包war包時無法運行問題的解決方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • MyBatisPlus通過ID更新數(shù)據(jù)為NULL的四種方法

    MyBatisPlus通過ID更新數(shù)據(jù)為NULL的四種方法

    本文主要介紹了MyBatisPlus通過ID更新數(shù)據(jù)為NULL的實現(xiàn)方法,包括@TableField注解、UpdateWrapper、lambdaUpdate及全局配置,具有一定的參考價值,感興趣的可以了解一下
    2025-08-08
  • Springboot實現(xiàn)對配置文件中的明文密碼加密詳解

    Springboot實現(xiàn)對配置文件中的明文密碼加密詳解

    我們在SpringBoot項目當(dāng)中,會把數(shù)據(jù)庫的用戶名密碼等配置直接放在yaml或者properties文件中,這樣維護數(shù)據(jù)庫的密碼等敏感信息顯然是有一定風(fēng)險的。所以本文為大家整理了對配置文件中的明文密碼加密的方法,希望對大家有所幫助
    2023-03-03
  • java獲取兩個List集合的交集代碼示例

    java獲取兩個List集合的交集代碼示例

    這篇文章主要給大家介紹了關(guān)于java獲取兩個List集合交集的相關(guān)資料,我們可以使用Stream操作來對集合進行一系列的操作,其中包括求交集,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • Java實現(xiàn)解析Excel復(fù)雜表頭

    Java實現(xiàn)解析Excel復(fù)雜表頭

    這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)解析Excel復(fù)雜表頭功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • JDBC連接SQL?Server數(shù)據(jù)庫實現(xiàn)增刪改查的全過程

    JDBC連接SQL?Server數(shù)據(jù)庫實現(xiàn)增刪改查的全過程

    實際開發(fā)中手動的輸入SQL語句是少之又少,大多數(shù)情況下是通過編譯代碼進行來控制自動執(zhí)行,下面這篇文章主要給大家介紹了關(guān)于JDBC連接SQL?Server數(shù)據(jù)庫實現(xiàn)增刪改查的相關(guān)資料,需要的朋友可以參考下
    2023-04-04

最新評論

郑州市| 米泉市| 宁明县| 湄潭县| 平和县| 花莲县| 图木舒克市| 那曲县| 东莞市| 舟山市| 二连浩特市| 柏乡县| 五指山市| 宁都县| 太原市| 汕头市| 左云县| 全州县| 南宁市| 潞城市| 蚌埠市| 思茅市| 探索| 阜新| 太保市| 阜城县| 唐河县| 娱乐| 且末县| 丰原市| 松阳县| 托克托县| 河东区| 漳州市| 宁武县| 扎兰屯市| 彰武县| 黄骅市| 承德市| 伊宁市| 青州市|