一、首先說說在沒有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
