您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在linux系統中部署一個Spring Boot程序,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
1 把jar包弄成系統服務(不推薦)
這種方法缺點也比較明顯,那就是容易出現服務啟動不起來,因為不同的linux發行版本都或多或少存在差異
2 使用nohup 命令配合kill -9 xxx
這種方法比較容易接受,也是一種折中的做法,但是要停止程序會比較麻煩需要使用命令找到進程再使用kill -9 ,還是有點麻煩
3 使用screen、tmux等方式(推薦)
綜合考慮這種方法比較科學因為它提供了統一的管理多個會話的界面和相應的功能,操作起來比較簡單些,缺點是需要一點點的學習成本
tmux常用命令:
$ tmux new -s session-name 新建會話
$ tmux a -t session-name 接入指定會話
$ tmux detach /$ Ctrl-b d 斷開當前會話
$ tmux kill-session -t session-name 關閉會話
$ tmux ls 顯示所有會話
screen常用命令:
$ screen -S window-name 新建會話
$ screen -r 會話編號或名稱 接入指定會話/重新連接會話
$ screen -ls 顯示所有會話
Ctrl+a b 分離當前會話
Ctrl+a k
以下是它們的區別,雖說tmux比較先進但究竟如何選擇還是看大家的使用習慣
tmux 和 screen 很像,但比 screen 更好。要問好在哪里,簡單的回答就是雖然與 screen 的功能相同,但是 tmux 設計得更好。screen 雖然可用,但是很不穩定。
以下是一些 tmux 超越 screen 的地方:
screen 的項目大體上已經終止了,并且代碼中有大量的問題
tmux 是一個活躍的項目,并且其代碼庫經常進行更新
tmux 使用的是真正的客戶端/服務器模型,而 screen 只是模擬了這種模型的行為
tmux 同時支持 emacs 和 vim 的快捷鍵
tmux 支持自動重命名窗口
tmux 可以高度的腳本化
tmux 的窗口分割功能更加先進
SpringBoot使用maven打包比較方便,打包時檢查下pom.xml的配置,確保有如下配置:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!--fork : 如果沒有該項配置,devtools不會起作用,即應用不會restart --> <fork>true</fork> <!-- 可選的配置 --> <executable>true</executable> </configuration> </plugin> </plugins> lt;/build>
打包就用maven install就行了,如果打包成功找到相應的jar重命名后上傳到linux服務器授權一下就行
這樣應用就啟動了,即使命令行關閉了或者從ssh斷開也不會影響程序的正常運行
斷開連接
結束會話后程序就被shutdown了,如下所示
screen的使用和tmux大同小異,這邊已經實踐過了,就部署程序使其在后臺運行,選screen和tmux效果都差不多。
PS:下面給大家介紹linux部署spring-boot
先對項目maven clean 然后在項目上maven install 打成jar包,之后到linux上刪除前一個版本的進程
查看java進程的命令 ps -ef | grep java
殺死進程 kill -9 進程號
直接運行spring-boot項目 nohup java -jar sinocube.jar & 使用nohup一定要以&結尾
nohup 回輸出日志文件,日志文件可以自定義文件名,默認為nohup.nohup.out
cat nohup.out 查看日志nohup.out是文件名稱
tailf nohup.out 實時查看日志
看完上述內容,你們對怎么在linux系統中部署一個Spring Boot程序有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。