springboot打成的jar包如何在Linux上持久運行


一、首先說說在沒有springboot的時候,項目是如何部署的?

1.動態web項目

動態web項目部署很方便,基本上上傳文件到服務器的tomcat里面的webapps文件夾下即可完成部署。
當然了,這種做法的弊端是,如果是通過winscp來傳輸對於網速方面要求嚴格,不然的話網速一卡,很久傳不過去,很耽誤時間的,當然了,我一個同學他們公司用的就是動態web項目,部署的方式也正是采用這種方式,據說是公司制度定下的。原因我就沒有細問過他。

當然了,有人會說,那我上傳到服務器之前將其壓縮成一個zip包,然后在Linux通過unzip命令解壓。這種方式我以前也這么干過。
當我后來發現將動態web項目導出war包,直接通過winscp上傳到tomcat對應的目錄下,在當前目錄就會產生一個文件夾,該文件夾主要是web相關的資源,還有就是java產生的編譯文件class等。

由此可以推出動態web項目常規部署方式有這么幾種?
a.直接上傳到tomcat對應的目錄下;
b.先打成zip包然后再傳輸到tomcat對應的目錄下;
c.本地導出war包,然后在傳輸到tomcat對應的目錄下;

其實a和b是一樣的,c則是利用Eclipse的導出war功能來實現的。

2.maven項目

maven項目的部署以war項目為例,直接通過mvn install 或者mvn clean package直接打包上傳到服務器上,就即可完成部署。
當然了,還可以通過寫一個腳本利用git clone的特性加上maven,也可以完成快速部署

來個小結:
現在使用動態web項目都是一些老公司維護一些老的項目,總而言之,現在大部分都在用mavne,當然,也不排除有一部分用grandle或ant等。
其實發現用maven以后除了有些時候導入依賴(依賴之間因版本沖突問題,為此我感到煩之外,其它都還好)。

說完這兩種項目部署后,下面我再說springboot打包成jar,如何在Linux上持久運行。

二、springboot打成的jar如何在Linux上持久運行

首先呢?你本地要有一個springboot的項目,如果沒有可以參考我的這篇博客寫一個,springboot入門程序

然后呢?你要有一個虛擬機搭建一個Linux服務器或者是遠程服務器(阿里雲或者騰訊雲、百度雲、美團雲等)。

再然后,你還要有一個winscp,winscp官網地址為:https://winscp.net/eng/docs/lang:chs(你可以去官網下載)

最后將springboot打包(確保本地運行沒有問題),利用winscp上傳到Linux上。

通過該命令運行jar包:

nohup java -jar blog.jar > system.log 2>&1 &

下面我們對這條命令進行分析

nohub一般形式為如下:

nohub command &

但是當你退出賬戶時,仍然會停止對應的進程。

所以這就需要你在后面添加 2>&1 &(相當於正常退出,仍保持命令在后台運行)

上面這個command正好對上java -jar blog.jar > system.log

“>” 輸出重定向,通常用於輸出日志

本文主要參考該地址:https://www.cnblogs.com/createhappy/p/9375874.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM