更新時間:2020-12-01 17:53:13 來源:動力節點 瀏覽1772次
部署簡而言之就是把Web應用開發時的文件拷貝到Tomcat容器中,并對其進行編譯等操作,使用戶可以訪問到該應用。學會在Tomcat中部署項目是Tomcat的基本操作,本文就來和大家聊聊Tomcat的部署方式。
在Tomcat有多種部署方式,主要分為二大類:
1 .靜態部署:直接拷貝相應的web展開目錄、或者war包。(展開目錄的意思就是tomcat可以直接訪問的應用目錄,是未經過壓縮的。相反的就是war包,是一種經過壓縮的web應用文件)。
2 .動態部署:通過tomcat管理器或者其他工具(如TCD,tomcat client deployer)執行部署。
如果是使用靜態部署,或者使用tomcat管理器進行部署是不需要安裝任何東西的。但如果要使用TCD進行部署,那么就需要預先安裝JDK和Ant,因為TCD中內置的是Ant的任務構建腳本;然后再下載TCD的部署包。
另外,還需要了解一個概念——Context。在Tomcat中,上下文Context就是一個Web應用。在之前的Tomcat版本中,上下文信息是配置在server.xml中的,現在仍然可以,但是官方并不推薦這種做法,因為這樣做存在一些弊端,影響Tomcat的整體性能。
一、靜態部署——在tomcat啟動時部署
部署時,涉及到一個變量appBase。這個變量標識了一個目錄,該目錄存放著部署的web應用。
一般默認情況下,appBase為CATALINA_HOME/webapps,配置信息位于server.xml中。
其中常用的幾個選項:
appBase指定了部署的目錄;
autoDeploy設置是否自動部署(下小節動態部署中會介紹);
unpackWARs設置了部署的形式,如果為true,則會以展開的形式部署;如果為false,則會以war包的形式部署。
設置了以上的內容后(以上都是tomcat默認的配置,不需要做任何改動),當啟動tomcat時,就會自動部署在appBase目錄下的應用。并會按照下面的順序進行部署:
1 .部署上下文描述符。
2 .部署展開的應用。如果部署目錄中存在相應的war包,則檢查是否比當前的應用更新;如果更新,則刪除當前的應用,并解壓該war包,得到最新的應用。
3 .部署war包。
二、動態部署——在tomcat運行時部署
動態部署需要一個配置參數,就是上面提到的 autoDeploy 為 true。當設置了該屬性后,tomcat會在其運行時支持如下的操作:
1. 部署新拷貝到appBase下的war文件。
2 .部署拷貝到appBase下的展開的應用(未壓縮的)。
3 .當提供一個更新的war包時,重新部署應用。會先刪除當前存在的應用,再進行解壓部署。
4 .當/WEB-INF/web.xml被改寫時,自動部署。
5 .當web應用的context.xml上下文描述符被更新時,自動部署。
6 .當CATALINA_HOME/conf下對應的應用的上下文描述符被更新時,自動部署。
7 .當對應的docBase文檔被刪除時,自動部署。
以上就是兩種主要的Tomcat的部署方式,我們在今后使用Tomcat部署項目的時候也許能用到。實際上不管是動態部署還是靜態部署,都是為了能夠對相應的Web應用開發文件進行一系列操作,萬變不離其宗,掌握了Tomcat部署項目的方法,也就能夠做到有的放矢了。當然,我們也可以繼續在本站的Tomcat服務器教程里學習更多的Tomcat相關技術,為我們熟練使用Tomcat打下堅實的基礎。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習