SpringMVC項目實現Tomcat熱部署,自動打包上傳並運行

引言

在學習中看到了Spring項目在Tomcat上熱部署的方式,由於以前項目的部署方式都是先打包,再上傳,所以印象很深刻,以此記錄

工具

IDE工具爲IDEA,Linux圖形化工具爲Xftp,shell工具爲Xshell

Tomcat 熱部署

1. Tomcat配置

1.1 上傳Tomcat安裝包並解壓

官方網站下載Redis的Linux系統安裝包,後綴 .tar.gz,使用XFtp上傳到Linux服務器
這裏寫圖片描述

1.2 Tomcat的配置

需要實現熱部署,自然就需要通過Maven操作Tomcat,所以就需要Maven取得操作Tomcat的權限,這一步就是配置tomcat的可操作權限

第一步:修改conf/tomcat-user.xml文件

[root@VM_175_68_centos apache-tomcat-9.0.8]# vim conf/tomcat-users.xml

<tomcat-users>節點下面增加如下配置:

<role rolename="manager-gui" />
<role rolename="manager-script" />
<user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/> //用戶名和密碼可以自行設置,後面會用

這裏寫圖片描述
Tomcat可以設置四個角色,分別代表不同的權限,可自行配置,如下圖:

這裏寫圖片描述
第二步:修改webapps/manager/META-INF/context.xml文件
由於本人使用的是Tomcat9,還需要這一項額外的配置,好像Tomcat8以前的版本不需要,以後的版本就需要了,現在大多數都是8和9版本,寫下來最好

註釋掉以下內容:

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->

這裏寫圖片描述

1.3 啓動Tomcat

[root@VM_175_68_centos apache-tomcat-9.0.8]# ./bin/startup.sh

第一步: Tomcat默認端口8080,訪問出現默認頁面即啓動成功
第二步: 點擊Manager App按鈕
這裏寫圖片描述
彈出如下窗口則證明配置生效:
這裏寫圖片描述
第三步:填入自行設置的用戶名和密碼
這裏寫圖片描述
出現上圖界面則說明Tomcat配置完成
由於我們使用自動上傳部署,這裏不做任何操作,只當驗證

2. SpringMVC 項目配置

2.1 使用maven插件實現熱部署

需要使用Maven的Tomcat插件,實現maven打包——>上傳——>熱部署一氣呵成
Maven的配置
修改項目的pom.xml文件,在<build>節點下面增加如下配置:tomcat7的配置

<url>http://119.29.233.28:8080/manager/text</url>
<username>tomcat</username>
<password>tomcat</password>

這裏寫圖片描述
用戶名和密碼爲Tomcat配置文件中所配置的,服務器ip+端口(若沒有更改端口默認爲8080,若更改了這裏也須改變),端口後的路徑/manager/text是固定的

3. IDE部署

3.1 部署準備

  1. 這裏寫圖片描述

  2. 這裏寫圖片描述

  3. 這裏寫圖片描述

  4. 這裏寫圖片描述
    熱部署命令:
    初次部署可以使用 tomcat7:deploy 命令
    如果已經部署過使用 tomcat7:redeploy 命令
    部署跳過測試:tomcat7:redeploy -DskipTests
    由於此方式是替換掉webapps下的ROOT文件夾,已存在,所以使用命令tomcat7:redeploy

3.2 執行命令

  1. 控制檯日誌輸出:
    這裏寫圖片描述
  2. 瀏覽器訪問
    這裏寫圖片描述
    訪問成功!

4. 總結

到此,Spring項目在Tomcat的熱部署就完成了,希望我的文章對你有所幫助

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章