欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用linux部署Spring Boot程序

 更新時間:2018年01月15日 10:47:50   作者:青蛙小王子  
springboot程序在linux服務(wù)器上應(yīng)該怎么部署?這次就分享下linux下如何正確部署springboot程序,感興趣的朋友一起看看吧

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

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

1   把jar包弄成系統(tǒng)服務(wù)(不推薦)

這種方法缺點也比較明顯,那就是容易出現(xiàn)服務(wù)啟動不起來,因為不同的linux發(fā)行版本都或多或少存在差異

2  使用nohup 命令配合kill -9 xxx

這種方法比較容易接受,也是一種折中的做法,但是要停止程序會比較麻煩需要使用命令找到進程再使用kill -9 ,還是有點麻煩

3 使用screen、tmux等方式(推薦)

綜合考慮這種方法比較科學(xué)因為它提供了統(tǒng)一的管理多個會話的界面和相應(yīng)的功能,操作起來比較簡單些,缺點是需要一點點的學(xué)習(xí)成本

tmux常用命令:

$ tmux new -s session-name           新建會話
$ tmux a -t session-name               接入指定會話
$ tmux detach /$ Ctrl-b d              斷開當(dāng)前會話
$ tmux kill-session -t session-name  關(guān)閉會話

$ tmux ls                                       顯示所有會話

screen常用命令:

$ screen -S window-name           新建會話
$ screen -r 會話編號或名稱           接入指定會話/重新連接會話
$ screen -ls                               顯示所有會話
Ctrl+a b                                   分離當(dāng)前會話
Ctrl+a k 

以下是它們的區(qū)別,雖說tmux比較先進但究竟如何選擇還是看大家的使用習(xí)慣

tmux 和 screen 很像,但比 screen 更好。要問好在哪里,簡單的回答就是雖然與 screen 的功能相同,但是 tmux 設(shè)計得更好。screen 雖然可用,但是很不穩(wěn)定。

以下是一些 tmux 超越 screen 的地方:

  • screen 的項目大體上已經(jīng)終止了,并且代碼中有大量的問題
  • tmux 是一個活躍的項目,并且其代碼庫經(jīng)常進行更新
  • tmux 使用的是真正的客戶端/服務(wù)器模型,而 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不會起作用,即應(yīng)用不會restart --> 
      <fork>true</fork> 
      <!-- 可選的配置 --> 
      <executable>true</executable> 
    </configuration> 
  </plugin> 
</plugins> 
lt;/build> 

打包就用maven install就行了,如果打包成功找到相應(yīng)的jar重命名后上傳到linux服務(wù)器授權(quán)一下就行

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

斷開連接

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

screen的使用和tmux大同小異,這邊已經(jīng)實踐過了,就部署程序使其在后臺運行,選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一定要以&結(jié)尾

  nohup 回輸出日志文件,日志文件可以自定義文件名,默認為nohup.nohup.out

       cat nohup.out 查看日志nohup.out是文件名稱
  tailf nohup.out 實時查看日志

相關(guān)文章

  • 圖文示例詳解Lucene數(shù)據(jù)模型查詢原理

    圖文示例詳解Lucene數(shù)據(jù)模型查詢原理

    這篇文章主要為大家通過圖文示例詳解Lucene數(shù)據(jù)模型查詢原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • SpringCloud?微服務(wù)數(shù)據(jù)權(quán)限控制的實現(xiàn)

    SpringCloud?微服務(wù)數(shù)據(jù)權(quán)限控制的實現(xiàn)

    這篇文章主要介紹的是權(quán)限控制的數(shù)據(jù)權(quán)限層面,意思是控制可訪問數(shù)據(jù)資源的數(shù)量,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-11-11
  • Spring AOP中定義切點的實現(xiàn)方法示例

    Spring AOP中定義切點的實現(xiàn)方法示例

    這篇文章主要介紹了Spring AOP中定義切點的實現(xiàn)方法,結(jié)合實例形式分析了spring面向切面AOP定義切點的具體步驟、實現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下
    2020-01-01
  • Java矢量隊列Vector使用示例

    Java矢量隊列Vector使用示例

    Vector類實現(xiàn)了一個動態(tài)數(shù)組。和ArrayList很相似,但是兩者是不同的Vector是同步訪問的;Vector包含了許多傳統(tǒng)的方法,這些方法不屬于集合框架
    2023-01-01
  • Spring裝配bean方法實例總結(jié)

    Spring裝配bean方法實例總結(jié)

    這篇文章主要介紹了spring裝配bean方法實例總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • java實現(xiàn)切圖并且判斷圖片是不是純色/彩色圖片

    java實現(xiàn)切圖并且判斷圖片是不是純色/彩色圖片

    本篇文章主要介紹了java實現(xiàn)切圖并且判斷圖片是否是純色/彩色圖片,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • Java中創(chuàng)建線程的四種方法解析

    Java中創(chuàng)建線程的四種方法解析

    這篇文章主要介紹了Java中創(chuàng)建線程的四種方法解析,線程是Java編程語言中的一個重要概念,它允許程序在同一時間執(zhí)行多個任務(wù),線程是程序中的執(zhí)行路徑,可以同時執(zhí)行多個線程,每個線程都有自己的執(zhí)行流程,需要的朋友可以參考下
    2023-10-10
  • Java中的Map集合簡單匯總解析

    Java中的Map集合簡單匯總解析

    這篇文章主要介紹了Java中的Map集合簡單匯總解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Maven將代碼及依賴打成一個Jar包的方式詳解(最新推薦)

    Maven將代碼及依賴打成一個Jar包的方式詳解(最新推薦)

    這篇文章主要介紹了Maven將代碼及依賴打成一個Jar包的方式,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • Java如何優(yōu)雅替換if-else語句

    Java如何優(yōu)雅替換if-else語句

    當(dāng)邏輯分支非常多的時候,if-else套了一層又一層,那么如何干掉過多的if-else,本文就詳細的介紹一下,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論