国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

使用linux部署Spring Boot程序

2024-07-13 10:16:38
字體:
來源:轉載
供稿:網友

SpingBoot的學習總算告一段落了,但它還留給了我們一個疑問,那就是程序在linux/198266.html">linux服務器上應該怎么部署?使用命令啟動程序后如果ssh斷開了程序會不會被shutdown?對于第一個問題比較好解決,只需要保證jdk安裝正確就不會有太大問題。棘手的問題是后面這個,解決問題的關鍵就是要保證程序以守護進程(后臺方式)運行。這次就分享下linux下如何正確部署程序

為了解決這個問題,我查閱網上的資料找到了下面3種解決方案

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服務器授權一下就行

linux,部署,spring,boot

這樣應用就啟動了,即使命令行關閉了或者從ssh斷開也不會影響程序的正常運行

linux,部署,spring,boot

斷開連接

linux,部署,spring,boot

結束會話后程序就被shutdown了,如下所示

linux,部署,spring,boot

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 實時查看日志


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彩票| 新余市| 房产| 兴文县| 岢岚县| 梁平县| 慈溪市| 长汀县| 营山县| 玛多县| 天气| 库车县| 广饶县| 资兴市| 丹江口市| 巫山县| 黎城县| 盐边县| 时尚| 龙海市| 徐闻县| 淅川县| 高清| 张家口市| 潼南县| 遂溪县| 黄石市| 沽源县| 台前县| 江川县| 托克逊县| 象山县| 独山县| 资中县| 漯河市| 平利县| 阿拉善左旗| 三都| 维西| 年辖:市辖区| 讷河市|