SpringBoot項目打成jar包部署到Linux上


用IDEA打包

直接用maven插件打包,位置:Maven Projects-Lifecycle-package

控制台輸出BUILD SUCCESS時,說明打包成功

...
[INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ demo ---
[INFO] Building jar: C:\Project2\demo\target\demo-1.0.0.jar
[INFO] 
[INFO] --- spring-boot-maven-plugin:1.5.17.BUILD-SNAPSHOT:repackage (default) @ demo ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.989 s
[INFO] Finished at: 2018-10-25T17:10:11+08:00
[INFO] ------------------------------------------------------------------------

Process finished with exit code 0

可以在pom.xml文件里控制jar包的名字和版本號

        <groupId>com.zwx</groupId> <artifactId>demo</artifactId> <version>1.0.0</version> <packaging>jar</packaging> 

進入\項目\target\ 目錄下找到打包好的jar包,用Xftp工具放到linux服務器上,復制粘貼即可。

其實到這一步可以直接用:

java -jar /位置/jar包名.jar

運行了,但是直接這樣做的話在停止springboot服務時很麻煩,需要找到這個jar包占用的進程,接着殺死相關進程。 所以為了方便后期維護,使用shell腳本進行啟動、關閉和檢查。


編寫腳本

啟動腳本

使用Xshell連接到服務器后,在jar包同級目錄下(為了方便),敲命令:vim start.sh,輸入:


#!/bin/sh rm -f tpid nohup java -Xms1536m -Xmx1536m -jar demo.jar > launch.log 2>&1 & echo $! > tpid echo Start Success! 

其中demo.jar 是要執行的jar包,launch.log是日志輸出的位置。

訪問ip+端口號:/接口名,如下圖所示,表明SpringBoot部署啟動成功:

 

同時可以看到目錄下生成了日志文件:

停止腳本

輸入命令:vim stop.sh,下面這段粘進去:

#!/bin/sh APP_NAME=demo tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'` if [ ${tpid} ]; then echo 'Stop Process...' kill -15 $tpid fi 
sleep 5 tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'` if [ ${tpid} ]; then echo 'Kill Process!' kill -9 $tpid else echo 'Stop Success!' fi

其中APP_NAME改成你自己的jar包名稱。運行stop腳本,輸出如下表示運行成功:

[root@iz2tx5qq7tthc7z sb_demo]# sh stop.sh 
Stop Process...
Stop Success!

訪問接口,發現已經無法訪問,說明腳本運行成功:


檢查腳本

vim check.sh,輸入:

#!/bin/sh APP_NAME=demo tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'` if [ ${tpid} ]; then echo 'App is running.' else echo 'App is NOT running.' fi 

效果:

[root@iz2tx5qq7tthc7z sb_demo]# sh check.sh 
   App is NOT running.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM