欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Tomcat 5.5.23 文檔閱讀Tips 3 - Deployer

系統 1922 0
本文介紹了如何在tomcat中部署一個web app。?

1. 在tomcat中部署一個web app有兩類做法。第一,靜態部署。此類部署就是將web app的文件拷貝到相應的路徑,作一些配置,然后重啟tomcat,在tomcat啟動的過程中,會將這個web應用部署到tomcat中。第二,動態部署。動態部署tomcat支持兩種方式,第一就是使用tomcat manager,這是tomcat 5 core包中就自帶的一個web app,用這個tomcat manager就可以動態的部署一個web應用,無需重啟tomcat;第二,使用tomcat deployer,這個包可以在tomcat 5的網站上下載,相比tomcat manager,tomcat deployer(也就是TCD-Tomcat Client Deployer)提供了更多的功能。TCD部署應用就是通過一個命令行的界面和tomcat manager做交互,最終達到部署的目的,不過相比manager,TCD提供了編譯,驗證一個web應用,將一個web應用打包成war文件的額外功能。TCD的安裝需要預先安裝JRE和ANT,而且對于EasyCluster來說,我們不太需要這個東西,所以這里就不對TCD做描述了,有興趣的話可以直接看這篇tomcat的文檔。?

2. 下面描述在tomcat中部署一個應用的邏輯和配置。在Tomcat 4.x中,我們都知道,要部署一個web應用,要修改server.xml,在其中加入<context....這樣的配置,對于tomcat來說,一個context就是一個web應用。在Tomcat 5中,情況有些變化,context的概念沒變,但是Tomcat 5不鼓勵將context的配置直接寫在server.xml中,這也是一個清晰邏輯的好做法,那么,在Tomcat 5中,tomcat 5是如何查找一個web應用的context配置的呢?邏輯如下:?

(1). $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml?
(2). $CATALINA_HOME/webapps/[webappname]/META-INF/context.xml?

Tomcat 5就是到上面的兩個地方去查找web應用的context配置的。這里enginename可以在server.xml中進行配置,默認就是Catalina(也就是Tomcat 5的包解開后在server.xml中的配置)。如果我們沒有配置一個web應用的context,而我們已經將web應用的文件拷貝到了相應的位置,那么Tomcat 5會自動為我們在(1)的這個路徑下創建一個名為[webappname].xml的context配置。不過注意,如果我們手動配置了context,那么,文件名不一定要是[webappname].xml,因為Tomcat在判定一個web app的名字的時候,是根據context中的配置,而不是文件名。 ?

3. 下面開始介紹如何用靜態部署的方法在tomcat中部署一個web app。這很簡單,在server.xml中,有一個配置叫Host,在Host的配置中,可以配置一個叫appBase的attribute(可以在server.xml中搜索該關鍵字),這就是tomcat查找web app的根目錄。默認情況下,這個appBase就是webapps,也就是說,我們只需要把web app的文件拷貝到這個appBase指定的目錄下,然后重啟tomcat,tomcat就會為我們部署這個應用。(也可以將war文件拷貝到appBase指定的目錄下,效果是一樣的)。?

具體來說,tomcat在啟動的時候,是這樣部署應用的:?

(1) 首先查找所有的Context Descriptor,也就是2點中提到的那兩個查找路徑,tomcat在這兩個路徑下查找所有的context的配置,優先部署這些應用。?

(2) tomcat在appBase指定的目錄下查找web應用并部署。如果發現一個web應用既有文件目錄的形式,也有一個對應的war文件,那么查看war文件的時間戳和對應文件,目錄的時間戳,如果war文件的時間戳比較新,那么解開war文件,再部署該應用。?

(3) 部署剩余的war文件。?

注:如果在server.xml中,定義了deployOnStartup=false,那么tomcat將不會執行上述的靜態部署邏輯。此外,正如2中所說,如果tomcat在部署一個web app的時候,沒有找到對應的context配置(Context Descriptor),也就是說,我們沒有手動配置context,那么,tomcat會在$CATALINA_HOME/conf/[enginename]/[hostname]目錄下自動生成一個。

?

4. 在tomcat中動態部署一個web應用(不使用Tomcat manager和TCD)。在這種情況下,要想部署一個應用,只有一種做法,那就是利用Tomcat的autoDeploy。在server.xml中,有一個配置項叫Host,前面已經提到了,在Host中可以配置appBase,一樣的,autoDeploy也可以配置在這個Host配置項中,如果autoDeploy被設成了true,那么,當以下情況發生時,Tomcat將部署/重部署一個web應用(注:以下文字中的exploded web application指的那些沒有被打成war包的web應用,也就是一對文件和目錄的那種web應用):?

(1) Deployment of .WAR files copied into the Host appBase.?
(2) Deployment of exploded web applications which are copied into the Host appBase.?
(3) Re-deployment of a web application which has already been deployed from a .WAR when the new .WAR is provided. In this case the exploded web application is removed, and the .WAR is expanded again. Note that the explosion will not occur if the Host is configured so that .WARs are not exploded with a unpackWARs attribute set to "false", in which case the web application will be simply redeployed as a compressed archive.?
(4) Re-deployment of a web application if the /WEB-INF/web.xml file (or any other resource defined as a WatchedResource) is updated.?
(5) Re-deployment of a web application if the Context Descriptor file from which the web application has been deployed is updated.?
(6) Re-deployment of a web application if a Context Descriptor file (with a filename corresponding to the Context path of the previously deployed web application) is added to the $CATALINA_HOME/conf/[enginename]/[hostname]/ directory.?
(7) Undeployment of a web application if its document base (docBase) is deleted. Note that on Windows, this assumes that anti-locking features (see Context configuration) are enabled, otherwise it is not possible to delete the resources of a running web application.?

很清楚了吧?一旦war文件更新,web.xml更新,Context Descriptor更新,web應用的docBase被刪除,等等這類事件都會導致Tomcat部署/重部署一個web應用。不過我想這個autoDeploy設成true之后,會給Tomcat帶來一些性能的損失,所以如果在產品應用場合,應該把這個autoDeploy關掉。?

注:也可以在server.xml中的loader配置項中配置autoDeploy,此時loader(負責load class)會監控文件的更新情況從而完成部署/重部署。?

有關Tomcat manager部署應用,有一篇單獨的文檔介紹。而有關TCD的東西,這里就不介紹了。 ?

Tomcat 5.5.23 文檔閱讀Tips 3 - Deployer


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 奇米影视首页 | 性夜影院爽黄A爽免费动漫 日韩精品在线一区二区 | 国产成人99久久亚洲综合精品 | 国产精品久久久久久久四虎电影 | 九九视频九九热 | 嫩草91| 日韩18视频在线观看 | 久久免费在线视频 | 国产午夜精品一区二区三区嫩草 | 中文字幕在线观看av | 神马久久蜜桃 | 激情小说激情图片激情电影 | 三A级做爰片免费观看国产电影 | 免费看a网站| 日韩精品久久久久久久电影 | 狠狠草视频 | 极品在线| 天天在线欧美精品免费看 | 亚洲成人网在线观看 | 国产丫丫视频私人影院 | 久久一区精品 | 精品一区视频 | 中文字幕日本亚洲欧美不卡 | 激情五月激情综合网 | 天天做天天添天天谢 | 久久久久草 | 中文字幕一区二区在线观看 | 九九热在线免费观看 | 中文字幕一区二区三区四区 | 黄色短视频在线免费观看 | 国产精品人人做人人爽 | tube69欧美最新片 | 偷拍自拍网站 | 免费久久一级欧美特大黄 | 久久色播 | 亚洲AV在线无码播放毛片浪潮 | 亚洲 日本 欧美 日韩精品 | 黄色的视频免费观看 | 亚洲国产综合精品 | 99久久网 | 中文字幕一区在线观看视频 |