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 # 啟動新進(jìn)程 echo "Starting application..." nohup java -jar "$JAR_NAME" >> "$LOG_DIR/app.log" 2>&1 & # 檢查是否啟動成功 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à)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-05-05SpringCloud升級2020.0.x版之OpenFeign簡介與使用實(shí)現(xiàn)思路
在微服務(wù)系統(tǒng)中,我們經(jīng)常會進(jìn)行 RPC 調(diào)用。在 Spring Cloud 體系中,RPC 調(diào)用一般就是 HTTP 協(xié)議的調(diào)用。對于每次調(diào)用,都要經(jīng)過一系列詳細(xì)步驟,接下來通過本文給大家介紹SpringCloud OpenFeign簡介與使用,感興趣的朋友一起看看吧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-11java中javamail發(fā)送帶附件的郵件實(shí)現(xiàn)方法
這篇文章主要介紹了java中javamail發(fā)送帶附件的郵件實(shí)現(xiàn)方法,較為詳細(xì)的分析了JavaMail發(fā)送郵件的用法,是非常實(shí)用的技巧,需要的朋友可以參考下2015-01-01elasticsearch的zenDiscovery和master選舉機(jī)制原理分析
這篇文章主要介紹了elasticsearch的zenDiscovery和master選舉機(jī)制原理分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04java?WebSocket?服務(wù)端實(shí)現(xiàn)代碼
WebSocket協(xié)議是基于TCP的一種新的網(wǎng)絡(luò)協(xié)議。它實(shí)現(xiàn)了瀏覽器與服務(wù)器全雙工(full-duplex)通信——允許服務(wù)器主動發(fā)送信息給客戶端,這篇文章主要介紹了java?WebSocket?服務(wù)端代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02在CentOS系統(tǒng)中檢測Java安裝及運(yùn)行jar應(yīng)用的方法
這篇文章主要介紹了在CentOS系統(tǒng)中檢測Java安裝及運(yùn)行jar應(yīng)用的方法,同樣適用于Fedora等其他RedHat系的Linux系統(tǒng),需要的朋友可以參考下2015-06-06SpringBoot中@Autowired與@Resource的區(qū)別小結(jié)
本文主要介紹了SpringBoot中@Autowired與@Resource的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01