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、首先進入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ù)器實際部署情況來修改。 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、進入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)程斷點配置 默認(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ù)器實際情況配置 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中的synchronized?優(yōu)化方法之鎖膨脹機制
這篇文章主要介紹了Java中的synchronized?優(yōu)化方法之鎖膨脹機制,鎖膨脹機制是提升?synchronized?性能最有利的方法之一,下面我們就來看看什么事鎖膨脹及鎖膨脹的各種細(xì)節(jié)2022-05-05springboot 集成redis哨兵主從的實現(xiàn)
本文主要介紹了springboot 集成redis哨兵主從的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07EasyExcel自定義下拉注解的三種實現(xiàn)方式總結(jié)
使用EasyExcel設(shè)置下拉數(shù)據(jù)時,每次都要創(chuàng)建一個SheetWriteHandler組件確實比較繁瑣,為了優(yōu)化這個過程,我們可以通過自定義注解來簡化操作,下面就來看看具體實現(xiàn)方法吧2024-10-10java中@ConfigurationProperties失效的問題解決
在Java開發(fā)中,使用@ConfigurationProperties注解讀取配置文件時,如果配置類中的屬性設(shè)置為static,將無法正確讀取配置值,本文就來介紹一下具體解決方法,感興趣的可以了解一下2024-09-09Javaweb動態(tài)開發(fā)最重要的Servlet詳解
動態(tài)web的核心是Servlet,由tomcat解析并執(zhí)行,本質(zhì)是Java中的一個類(面向?qū)ο螅┻@個類的功能十分強大幾乎可以完成全部功能,在Java規(guī)范中只有Servlet實現(xiàn)類實例化的對象才能被瀏覽器訪問,所以掌握Servlet具有重要意義2022-08-08