linux部署springBoot項(xiàng)目的腳本問題
linux部署springBoot項(xiàng)目的腳本
重啟 restart.sh
#!/bin/bash
# 定義變量
JAR_NAME="xxx.jar"
LOG_DIR="logs/xxx"
# 創(chuàng)建日志目錄
mkdir -p "$LOG_DIR"
# 查找占用端口的進(jìn)程ID
PID=$(ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}')
echo "PID: ${PID:-未找到}"
echo "Restarting service..."
# 停止進(jìn)程
if [ -n "$PID" ]; then
echo "Stopping existing process (PID: $PID)..."
kill -9 "$PID" > /dev/null 2>&1
fi
# 等待2秒
sleep 2
# 啟動(dòng)新進(jìn)程
echo "Starting application..."
nohup java -jar "$JAR_NAME" >> "$LOG_DIR/app.log" 2>&1 &
# 檢查是否啟動(dòng)成功
if [ $? -eq 0 ]; then
echo "Application started successfully"
echo "PID: $!"
else
echo "Failed to start application"
exit 1
fi
# 保持終端不退出
read -p "Press any key to continue..." -n1 -s停止 stop.sh
#!/bin/bash
JAR_NAME="xxx.jar"
# 獲取監(jiān)聽該端口的進(jìn)程PID
PID=$(ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}')
echo "PID: ${PID:-未找到}"
if [ -z "$PID" ]; then
echo "PID not found. Server may not be running."
else
echo "Stopping existing process (PID: $PID)..."
kill -9 "$PID" > /dev/null 2>&1
# 檢查是否成功
if [ $? -eq 0 ]; then
echo "Stop Success!"
else
echo "Failed to stop the server."
fi
fi
read -p "Press any key to continue..." -n1 -s
說明:
maven打包時(shí),可以將腳本打包跟jar包在同一個(gè)目錄
<fileSet>
<directory>bin/linux</directory>
<includes>
<include>restart.sh</include>
<include>stop.sh</include>
</includes>
<outputDirectory>/</outputDirectory>
</fileSet>總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何解決mybatisplus報(bào)錯(cuò):getSqlFirst問題
這篇文章主要介紹了如何解決mybatisplus報(bào)錯(cuò):getSqlFirst問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-05-05
SpringCloud升級(jí)2020.0.x版之OpenFeign簡(jiǎn)介與使用實(shí)現(xiàn)思路
在微服務(wù)系統(tǒng)中,我們經(jīng)常會(huì)進(jìn)行 RPC 調(diào)用。在 Spring Cloud 體系中,RPC 調(diào)用一般就是 HTTP 協(xié)議的調(diào)用。對(duì)于每次調(diào)用,都要經(jīng)過一系列詳細(xì)步驟,接下來通過本文給大家介紹SpringCloud OpenFeign簡(jiǎn)介與使用,感興趣的朋友一起看看吧2021-10-10
使用?Spring?AI?+?Ollama?構(gòu)建生成式?AI?應(yīng)用的方法
通過集成SpringBoot和Ollama,本文詳細(xì)介紹了如何構(gòu)建生成式AI應(yīng)用,首先,介紹了AI大模型服務(wù)的兩種實(shí)現(xiàn)方式,選擇使用ollama進(jìn)行部署,隨后,通過SpringBoot+SpringAI來實(shí)現(xiàn)應(yīng)用構(gòu)建,本文為開發(fā)者提供了一個(gè)實(shí)用的指南,幫助他們快速入門生成式AI應(yīng)用的開發(fā)2024-11-11
java中javamail發(fā)送帶附件的郵件實(shí)現(xiàn)方法
這篇文章主要介紹了java中javamail發(fā)送帶附件的郵件實(shí)現(xiàn)方法,較為詳細(xì)的分析了JavaMail發(fā)送郵件的用法,是非常實(shí)用的技巧,需要的朋友可以參考下2015-01-01
elasticsearch的zenDiscovery和master選舉機(jī)制原理分析
這篇文章主要介紹了elasticsearch的zenDiscovery和master選舉機(jī)制原理分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
java?WebSocket?服務(wù)端實(shí)現(xiàn)代碼
WebSocket協(xié)議是基于TCP的一種新的網(wǎng)絡(luò)協(xié)議。它實(shí)現(xiàn)了瀏覽器與服務(wù)器全雙工(full-duplex)通信——允許服務(wù)器主動(dòng)發(fā)送信息給客戶端,這篇文章主要介紹了java?WebSocket?服務(wù)端代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02
在CentOS系統(tǒng)中檢測(cè)Java安裝及運(yùn)行jar應(yīng)用的方法
這篇文章主要介紹了在CentOS系統(tǒng)中檢測(cè)Java安裝及運(yùn)行jar應(yīng)用的方法,同樣適用于Fedora等其他RedHat系的Linux系統(tǒng),需要的朋友可以參考下2015-06-06
SpringBoot中@Autowired與@Resource的區(qū)別小結(jié)
本文主要介紹了SpringBoot中@Autowired與@Resource的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
基于Spring MVC 簡(jiǎn)介及入門小例子(推薦)
下面小編就為大家?guī)硪黄赟pring MVC 簡(jiǎn)介及入門小例子(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06

