Spring Boot項目中jar包在服務(wù)器上啟動的正確姿勢
關(guān)于
一般上來說,我們在服務(wù)器上啟動一個jar,最簡單的方式就是java -jar xx.jar,雖然這種方式簡單但有時候我們的場景需要更多,例如常駐后臺運行,在命令行窗口關(guān)閉的時候不中斷項目,指定端口,并且輸出日志到文件中等。所以這個時候我們通常會采用腳本啟動和關(guān)閉項目,方便項目的統(tǒng)一管理。
腳本啟動和關(guān)閉的案例
1.啟動腳本
nohup java -jar ../webapp/xxx.jar --server.port=9002 >> ../logs/xxx.log & tail -f ../logs/xxx.log
2.關(guān)閉腳本
pid=`ps -ef|grep java|grep xxx.jar |awk '{print $2}'`
if [ -z $pid ]; then
echo 'app not runing'
else
echo 'kill pid ' $pid
kill $pid
sleep 5
ps -ef|grep java
fi
3.最后一步,執(zhí)行腳本。(cd到腳本目錄并執(zhí)行)
sh xxx.sh
補充
1.命令后加&符號,可以使命令在后臺執(zhí)行。
2.tail -f 實時查看日志文件。
3.如果要先關(guān)閉項目再啟動,盡量不要使用Ctrl+z退出命令行窗口的當前狀態(tài),最好新開一個命令行窗口,然后執(zhí)行關(guān)閉腳本,再執(zhí)行啟動腳本。這樣操作,可以避免應(yīng)用莫名其妙沒有關(guān)閉到的情況,反復(fù)執(zhí)行關(guān)閉腳本卻沒有殺死應(yīng)用進程的奇怪問題,需要殺多次。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
SpringBoot整合sharding-jdbc?實現(xiàn)分庫分表操作的示例代碼
在Spring?Boot中使用ShardingSphere的Sharding-JDBC來實現(xiàn)數(shù)據(jù)庫的分庫分表是一個常見的需求,下面就拉具體介紹一下實現(xiàn)步驟,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2025-04-04
Java最簡潔數(shù)據(jù)結(jié)構(gòu)之冒泡排序快速理解
冒泡排序是編程中數(shù)據(jù)結(jié)構(gòu)繞不過的一個基礎(chǔ)點,有關(guān)于冒泡排序的文章也有很多,但可能會比較繚亂未能理解,本章將一子u為簡潔明了的例圖帶你通關(guān)冒泡排序2021-11-11
Spring使用@Retryable實現(xiàn)自動重試機制
在微服務(wù)架構(gòu)中,服務(wù)之間的調(diào)用可能會因為一些暫時性的錯誤而失敗,例如網(wǎng)絡(luò)波動、數(shù)據(jù)庫連接超時或第三方服務(wù)不可用等,在本文中,我們將介紹如何在 Spring 中使用 @Retryable 實現(xiàn)自動重試機制,需要的朋友可以參考下2025-01-01
Java源碼解析之SortedMap和NavigableMap
今天帶大家來學(xué)習Java SortedMap和NavigableMap,文中有非常詳細的代碼示例,對正在學(xué)習java的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
SpringBoot?web靜態(tài)資源映射實現(xiàn)步驟詳解
在springBoot中的靜態(tài)資源的映射是通過SpringMVC中的resourceHttpRequestHandler來進行實現(xiàn)的。在該請求映射器中默認規(guī)定了,SpringBoot會將classPath或者ServletContext下的/static?(/public、/resources?或?/META-INF/resources)目錄中,存放靜態(tài)資源2022-09-09

