在實際生産環境中,我們是不能觸碰到伺服器的,隻能通過SSH等手段進行遠端連接配接,通過網絡傳輸進行記憶體cpu日志等檢視工作,通過對其分析,再定位代碼部分的問題,那這麼jar包是如何運作到伺服器上的?JVM堆棧的設定又是什麼?日志輸出檢視又是什麼?這就是十分真實的生産環境下的工作。
1通過Maven将SpringBoot打成Jar包
在本機已經測試好代碼後,首先在pom.xml檔案中添加
<build> <plugins> <plugin> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-maven-pluginartifactId> plugin> plugins> build>
在IDE中點選Maven的package進行自動打包
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yMjBzMmJTNhRjN3QWMxYDMlNmZ3I2NygDMmZDMwMWZ08CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
就會在項目目錄下生成一個target目錄,裡面有一個xxxx.jar包
2
将Jar包放置Linux伺服器
可以通過xftp這類網絡檔案傳輸工具,進行遠端連接配接Linux伺服器後将Jar包傳輸到遠端伺服器.
3Linux伺服器上開啟SpringBoot服務
手動開啟方法:
- 找到Jar包所在的目錄
- 通過 java -jar xxx.jar > consoleMsg.out & 讓日志輸出到consoleMsg.out檔案中 & 表示背景運作,這樣正在使用的shell就不會被占用掉
- 通過 ps aux|grep xxx 可以看到正在運作的Java服務和占用的端口以及PID
4
殺掉程序和重新開機程序
在很多時候我們需要強殺掉程序并重新開機該服務
- ps aux | grep xxx.jar 可以得到該程序的PID
- kill -9 PID 進行程序強殺
- java -jar xxx 重新手動啟動
5
設定JVM堆棧大小
可以通過指令行shell啟動Jar包的時候手動進行設定
java -jar -Xmx1024M -Xms256M spring-boot-01-1.0-SNAPSHOT
-Xmx 表示JVM最大的記憶體
-Xms 表示JVM初始記憶體
END