centos7如何通過systemctl啟動springboot服務(wù)代替java -jar方式啟動
背景:以前啟動jar包都是通過java -jar,后面了解到一種注冊服務(wù)式啟動jar包的方式,所以做個記錄。
注意:我在寫該篇博客的時候,給腳本代碼都加了#注釋來解釋該行腳本命令的意思,所以可能出現(xiàn)復(fù)制該篇博客腳本代碼后啟動不了的問題(把#和一些不應(yīng)該有的空格去掉應(yīng)該就可以了,有問題可以評論滴我。)
我們項目的目錄是這樣:
/opt/webapps/financing/financing-api 在這個目錄下有如下配置。

接下來開始講怎么通過systemctl啟動springboot服務(wù)啟動
1、首先進(jìn)入centos /etc/systemd/system/目錄
cd /etc/systemd/system/
2、新建一個springboot項目名.servie文件(我這里是financing-api項目,所以新建financing-api.service文件)
financing-api.service內(nèi)容如下
[Unit] #定義了服務(wù)的名稱、描述、依賴關(guān)系等信息。
Description=financing-api server
After=network.target remote-fs.target nss-lookup.target
[Service] #定義了服務(wù)的類型、用戶、工作目錄、啟動命令等信息。
Type=forking
User=root
EnvironmentFile=/opt/webapps/financing/financing-api/config/financing-api.env #一定要有該env配置。具體env的目錄根據(jù)自己服務(wù)器實(shí)際部署情況來修改。
WorkingDirectory=/opt/webapps/financing/financing-api #
ExecStartPre=/bin/sh -c 'if [ ! -d ${LOG_PATH} ]; then mkdir ${LOG_PATH}; fi'。#定義了在啟動服務(wù)之前要執(zhí)行的命令。
ExecStart=/bin/sh -c '${JAVA_HOME}/java ${JVM_OPTIONS} -jar -Dloader.path=${APP_HOME}/lib ${REMOTE_DEBUG_OPTS} ${APP_HOME}/${JAR_NAME} > /dev/null 2>&1 &' #定義了啟動服務(wù)的命令。
ExecReload=/bin/kill -s HUP $MAINPID #定義了重啟服務(wù)的命令
ExecStop=/bin/kill -s QUIT $MAINPID #定義了停止服務(wù)的命令
[Install]
WantedBy=multi-user.target #定義了服務(wù)的啟動方式。3、進(jìn)入env所在的目錄,配置一個financing-api.env文件
financing-api.env內(nèi)容如下
JAR_NAME=financing-core-1.0.0.jar #指定jar包名 PROFILE=dev #指定配置文件的模式 PROJ_HOME=/opt/webapps/financing/financing-api #項目目錄 APP_HOME=$PROJ_HOME LOG_PATH=$PROJ_HOME/logs #日志目錄 GC_LOG_OPTS="-XX:+PrintGC -XX:+PrintGCDetails -Xloggc:/opt/webapps/financing/financing-api/logs/gc.log"#垃圾回收日志文件 GC_OPTS=-XX:+UseG1GC #垃圾回收類型 REMOTE_DEBUG_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 #遠(yuǎn)程斷點(diǎn)配置 默認(rèn)5005 OTHER_OPTS=-Dspring.profiles.active=dev #指定jar包啟動的配置文件 JVM_OPTIONS="-server -Xms512m -Xmx512m $GC_OPTS $GC_LOG_OPTS $OTHER_OPTS" #這里的xms 和xmx根據(jù)自己服務(wù)器實(shí)際情況配置 JAVA_HOME=/usr/install/java/bin #服務(wù)器上java_home的目錄
4、部署啟動腳本 start.sh,一般在jar包同目錄
#!/usr/bin/env bash # 執(zhí)行前需要加可執(zhí)行權(quán)限: chmod +x restart.sh systemctl restart financing-api echo "financing-api服務(wù)重啟完成." tail -200f logs/log_info.log
5、執(zhí)行啟動腳本即可通過 systemctl命令啟動springboot服務(wù)
到此這篇關(guān)于centos7通過systemctl啟動springboot服務(wù)代替java -jar方式啟動的文章就介紹到這了,更多相關(guān)systemctl啟動springboot服務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中DataInputStream和DataOutputStream的使用方法
這篇文章主要介紹了Java中DataInputStream和DataOutputStream的使用方法,通過創(chuàng)建對象展開具體的內(nèi)容介紹,需要的小伙伴可以參考一下2022-05-05
深入解析四大主流Java?AI?Agent框架的選擇與應(yīng)用
本文將帶你全面盤點(diǎn)當(dāng)前主流的?Java?AI?Agent?框架,深入解析它們的技術(shù)特性、使用方式,并通過實(shí)戰(zhàn)案例教你如何快速上手,快跟隨小編一起學(xué)習(xí)起來吧2026-04-04
spring mvc4的日期/數(shù)字格式化、枚舉轉(zhuǎn)換示例
本篇文章主要介紹了spring mvc4的日期/數(shù)字格式化、枚舉轉(zhuǎn)換示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-01-01
SpringBoot實(shí)現(xiàn)短信發(fā)送及手機(jī)驗證碼登錄
本文主要介紹了SpringBoot實(shí)現(xiàn)短信發(fā)送及手機(jī)驗證碼登錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
SpringBoot項目實(shí)現(xiàn)通過分詞器生成詞云
本文介紹了如何在SpringBoot項目中利用IK分詞器和Kumo庫生成員工任務(wù)的詞云圖,展示了從引入依賴、配置YAML到Controller中處理文本并生成詞云的詳細(xì)步驟以及處理中文文本的注意事項,希望對大家有所幫助2026-05-05
Java HashSet集合存儲遍歷學(xué)生對象代碼實(shí)例
這篇文章主要介紹了Java HashSet集合存儲遍歷學(xué)生對象代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04

