最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用linux部署Spring Boot程序

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

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

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

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

這種方法缺點(diǎn)也比較明顯,那就是容易出現(xiàn)服務(wù)啟動(dòng)不起來,因?yàn)椴煌膌inux發(fā)行版本都或多或少存在差異

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

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

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

綜合考慮這種方法比較科學(xué)因?yàn)樗峁┝私y(tǒng)一的管理多個(gè)會(huì)話的界面和相應(yīng)的功能,操作起來比較簡(jiǎn)單些,缺點(diǎn)是需要一點(diǎn)點(diǎn)的學(xué)習(xí)成本

tmux常用命令:

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

$ tmux ls                                       顯示所有會(huì)話

screen常用命令:

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

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

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

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

  • screen 的項(xiàng)目大體上已經(jīng)終止了,并且代碼中有大量的問題
  • tmux 是一個(gè)活躍的項(xiàng)目,并且其代碼庫經(jīng)常進(jìn)行更新
  • tmux 使用的是真正的客戶端/服務(wù)器模型,而 screen 只是模擬了這種模型的行為
  • tmux 同時(shí)支持 emacs 和 vim 的快捷鍵
  • tmux 支持自動(dòng)重命名窗口
  • tmux 可以高度的腳本化
  • tmux 的窗口分割功能更加先進(jìn)

SpringBoot使用maven打包比較方便,打包時(shí)檢查下pom.xml的配置,確保有如下配置:     

<build> 
<plugins> 
  <plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <configuration> 
      <!--fork : 如果沒有該項(xiàng)配置,devtools不會(huì)起作用,即應(yīng)用不會(huì)restart --> 
      <fork>true</fork> 
      <!-- 可選的配置 --> 
      <executable>true</executable> 
    </configuration> 
  </plugin> 
</plugins> 
lt;/build> 

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

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

斷開連接

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

screen的使用和tmux大同小異,這邊已經(jīng)實(shí)踐過了,就部署程序使其在后臺(tái)運(yùn)行,選screen和tmux效果都差不多。

PS:下面給大家介紹linux部署spring-boot

先對(duì)項(xiàng)目maven clean 然后在項(xiàng)目上maven install  打成jar包,之后到linux上刪除前一個(gè)版本的進(jìn)程

  查看java進(jìn)程的命令 ps -ef | grep java

  殺死進(jìn)程 kill -9 進(jìn)程號(hào)

  直接運(yùn)行spring-boot項(xiàng)目 nohup java -jar sinocube.jar & 使用nohup一定要以&結(jié)尾

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

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

相關(guān)文章

  • IDEA配置Maven教程的超詳細(xì)講解版

    IDEA配置Maven教程的超詳細(xì)講解版

    IntelliJ IDEA是當(dāng)前最流行的Java IDE(集成開發(fā)環(huán)境)之一,也是業(yè)界公認(rèn)最好用的Java開發(fā)工具之一,這篇文章主要給大家介紹了關(guān)于IDEA配置Maven教程的超詳細(xì)講解版,需要的朋友可以參考下
    2023-11-11
  • 解決SpringMVC獲取請(qǐng)求參數(shù)亂碼問題

    解決SpringMVC獲取請(qǐng)求參數(shù)亂碼問題

    在使用SpringMVC和thymeleaf進(jìn)行請(qǐng)求參數(shù)處理時(shí),可能會(huì)遇到亂碼問題,對(duì)于GET方法亂碼,可通過修改Tomcat的server.xml文件,添加URIEncoding="UTF-8"解決,而POST方法亂碼,則需在web.xml配置SpringMVC提供的過濾器
    2024-11-11
  • JAVA使用HtmlUnit爬蟲工具模擬登陸CSDN案例

    JAVA使用HtmlUnit爬蟲工具模擬登陸CSDN案例

    今天小編就為大家分享一篇關(guān)于JAVA使用HtmlUnit爬蟲工具模擬登陸CSDN案例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 理解Java當(dāng)中的回調(diào)機(jī)制(翻譯)

    理解Java當(dāng)中的回調(diào)機(jī)制(翻譯)

    今天我要和大家分享一些東西,舉例來說這個(gè)在JavaScript中用的很多。我要講講回調(diào)(callbacks)。你知道什么時(shí)候用,怎么用這個(gè)嗎?你真的理解了它在java環(huán)境中的用法了嗎?當(dāng)我也問我自己這些問題,這也是我開始研究這些的原因
    2014-10-10
  • Java實(shí)現(xiàn)的打地鼠小游戲完整示例【附源碼下載】

    Java實(shí)現(xiàn)的打地鼠小游戲完整示例【附源碼下載】

    這篇文章主要介紹了Java實(shí)現(xiàn)的打地鼠小游戲,結(jié)合完整實(shí)例形式分析了Java多線程操作及鍵盤按鍵響應(yīng)實(shí)現(xiàn)的打地鼠游戲功能相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • java中redissonClient 分布式鎖的使用

    java中redissonClient 分布式鎖的使用

    在集群的情況下,用戶多次請(qǐng)求接口時(shí),存入的內(nèi)容可能會(huì)導(dǎo)致重復(fù),這時(shí)候就可以使用分布式鎖來限制,本文就來介紹一下java中redissonClient 分布式鎖的使用,感興趣的可以了解一下
    2024-03-03
  • 很多人竟然不知道Java線程池的創(chuàng)建方式有7種

    很多人竟然不知道Java線程池的創(chuàng)建方式有7種

    本文主要介紹了很多人竟然不知道Java線程池的創(chuàng)建方式有7種,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 利用Java實(shí)現(xiàn)更改Word中的頁面大小和頁面方向

    利用Java實(shí)現(xiàn)更改Word中的頁面大小和頁面方向

    這篇文章主要為大家詳細(xì)介紹了一種高效便捷的方法——通過Java應(yīng)用程序,以編程方式更改Word中的頁面大小和頁面方向,感興趣的可以了解一下
    2023-03-03
  • Java中sharding-jdbc按年月分片的示例代碼

    Java中sharding-jdbc按年月分片的示例代碼

    本文主要介紹了Java中sharding-jdbc按年月分片的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • java繼承的概念及案例解析

    java繼承的概念及案例解析

    這篇文章主要介紹了java繼承的概念及案例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10

最新評(píng)論

方城县| 信丰县| 佛冈县| 张家界市| 江陵县| 罗江县| 临沭县| 彰化县| 简阳市| 含山县| 家居| 崇左市| 永清县| 班玛县| 乌拉特前旗| 民县| 华宁县| 兴和县| 德兴市| 崇文区| 武平县| 中方县| 天等县| 固镇县| 田东县| 昂仁县| 旬邑县| 玉溪市| 咸宁市| 吉安市| 会泽县| 高清| 迁安市| 揭西县| 承德市| 清远市| 曲周县| 合川市| 同仁县| 嵊泗县| 清镇市|