tomcat部署web應用的4種方法以及部署多個應用


 原文:

tomcat部署web應用的4種方法

在Tomcat中有四種部署Web應用的方式,簡要的概括分別是:

(1)利用Tomcat自動部署

(2)利用控制台進行部署

(3)增加自定義的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml)

(4)手動修改%Tomcat_Home%\conf\server.xml文件來部署web應用

第一種方式:利用Tomcat自動部署

利用Tomcat自動部署方式是最簡單的、最常用的方式。若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,只要將一個Web應用的WebContent級的AppName直接扔進%Tomcat_Home%\webapps文件夾下,系統會把該web應用直接部署到Tomcat中。所以這里不再贅述。

第二種方式:利用控制台進行部署

若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,利用控制台進行部署的方式如下:進入tomcat的manager控制台的deploy區域——在Context path中鍵入"XXX"(可任意取名)——在WAR or Directory URL:鍵入D:\workspace\WebApp\AppName (表示去尋找此路徑下的web應用)——點擊deploy按鈕。

然后在%Tomcat_Home%\webapps路徑下將會自動出現一個名為XXX的文件夾,其內容即是D:\workspace\WebApp\AppName的內容,只是名字是XXX而已(這就是前面在Context path鍵入XXX的結果)。

以上說明利用控制台進行部署的實質仍然是利用Tomcat的自動部署。

第三種方式:增加自定義的Web部署文件

若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,這種部署方式稍微復雜一點,我們需要在%Tomcat_Home%\conf路徑下新建一個文件夾catalina——再在其中新建一個localhost文件夾——最后再新建一個XML文件,即增加兩層目錄並新增XML文件:%Tomcat_Home%\conf\Catalina\localhost\web應用配置文件.xml ,該文件就是部署Web應用的配置文件。例如,我們新建一個%Tomcat_Home%\conf\Catalina\localhost\XXX.xml, 該文件的內容如下:

  1. <Context path="/XXX" reloadable="true" docBase="D:\workspace\WebApp\AppName" workDir="D:\workspace\WebApp\work"/>

注意:

(1)以上代碼中的workDir表示將該Web應用部署后置於的工作目錄(Web應用中JSP編譯成的Servlet都可在其中找到),如果使用的Eclipse作為IDE,一般可人為設置在WebApp的work目錄下。

如果自定義web部署文件XXX.xml中未指明workdir,則web應用將默認部署在%Tomcat_Home%\work\Catalina\localhost\路徑下新建的以XXX命名的文件夾下。(Web應用中JSP編譯成的Servlet都可在其中找到)

(2)Context path即指定web應用的虛擬路徑名。docBase指定要部署的Web應用的源路徑。

其實開發者可以使用安裝有Tomcat插件eclipse自動創建部署文件來部署Web應用而不必再手動建立該文件,方法如下:

1. 打開Eclipse——打開菜單欄window選擇preference(首選項)——左側選擇Tomcat,如下圖示:

2. 可以看到上圖中高亮畫出的Context declaration mode(Context 聲明模式)中選擇以Context files增加自定義部署文件的形式部署web應用——然后Contexts directory中指定上述文件的上級目錄(即%Tomcat_Home%\conf\Catalina\localhost )——點擊Apply或OK。

3. 完上述步驟,再選中Web項目右鍵點擊properties(屬性)——選擇右側的Tomcat ,如下圖所示:

4. 勾上"Is a Tomcat project"前的checkbox,將項目關聯至Tomcat。

在Context name中填入XXX,即Web應用自定義部署文件名和Context path名。

在Subdirectory to set as web application root (optional)中填入要部署的Web應用的實際路徑(即WEB-INF上級目錄)。

注意:Eclipse會自動地將workdir設置在Workspace\WebApp\work下。

如此便自動創建了%Tomcat_Home%\conf\Catalina\localhost\XXX.xml 文件。啟動Tomcat 即可自動部署Web應用。

第四種方式:手動修改%Tomcat_Home%\conf\server.xml文件來部署web應用

此方法即打開%Tomcat_Home%\conf\server.xml文件並在其中增加以下元素:

  1. <Context docBase="D:\workspace\WebApp\AppName" path="/XXX" debug="0" reloadable="false" />

然后啟動Tomcat即可。

當然如果使用Eclipse,在Eclipse中的設置也有改變:打開菜單欄window選擇preference(首選項)——左側選擇Tomcat——可以看到上圖中高亮畫出的Context declaration mode(Context 聲明模式)中選擇以Server.xml文件來部署web應用。



部署多個web應用

先說一下在本地電腦怎么實現:

想要在一個tomcat下訪問兩個web項目時,可以通過添加虛擬host的方式來解決。

詳細步驟如下:

1、將兩個項目打包放入tomcat的webapps目錄下;

2、修改tomcat的server.xml文件,原來的代碼如下:

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

</Host>

添加代碼后如下:

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="ROOT" docBase="/ROOT"/>
</Host>
<Host name="myspring.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/SpringMvcArchitect2"/>
</Host>

需注意兩點:a、原來的host需要加上context標簽,並且path由原來的空變為項目名,因為兩個host的path不能同時為空,不然會訪問出錯,原來的項目名默認為ROOT。

b、添加新的host,將docBase里的路徑設置為第二個web項目的路徑,這里為/SpringMvcArchitect2,name為虛擬域名,自定義的。


3、修改機器的host文件(區別於上面的Host標簽,是系統host文件),添加一個ip映射,例如添加的host的name為myspring.com,則往系統host文件中添加127.0.0.1 myspring.com


4、重啟tomcat,就可以使用localhost:8080和myspring.com:8080訪問兩個web項目了,這里端口設置為8080,可以自己更改。


5、同理可以擴展為多個web項目,只需配置多個host即可

附:部分項目如jfinal框架默認的項目在ROOT下,所以war包不能都放webapps文件夾下,這樣需另外存放路徑如E:\test

1、 server.xml配置文件如下

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="ROOT" docBase="C:\tomcat\webapps\ROOT"/>
</Host>
<Host name="test.xiuyuewang.com" appBase="E:\test"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
<Context path="" docBase="E:\test\ROOT" reloadable="false" crossContext="true"/>
</Host>

2、 系統host配置文件

添加 127.0.0.1 新域名

3、重啟tomcat。



免責聲明!

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



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