在Tomcat服務器上部署web應用程序常見的方法

一般在tomcat服務器上部署 java web應用程序有兩種方式:靜態和動態

一、靜態部署

靜態部署即在啓動tomcat服務器之前部署好我們的web應用程序,只有當tomcat服務器啓用後,我們的web應用程序才能被訪問)

1、利用tomcat自動部署

將web應用程序拷貝到/usr/local/tomcat/webapps/下,然後重啓tomcat服務器即可,此時由於配置文件配置了autoDeploy="true,tomcat啓動此將自動加載該web應用

2、修改server.xml文件部署

可以將應用程序單獨放在一個目錄下

mkdir /webapps/

vim /usr/local/tomcat/conf/server.xml

添加如下一行

<Context  path ="/Test"  reloadable ="false"  docBase ="/webapps"/>

path:是訪問時的根地址,表示訪問的路徑;如上述例子中,訪問該應用程序地址如下:http://localhost:8080/Test/

reloadable:表示可以在運行時在classes與lib文件夾下自動加載類包。其中reloadable="false"表示當應用程序 中的內容發生更改之後服務器不會自動加載,這個屬性在開發階段通常都設爲true,方便開發,在發佈階段應該設置爲false,提高應用程序的訪問速度。

docbase:表示應用程序的路徑,注意斜槓的方向“/”。 docBase可以使用絕對路徑,也可以使用相對路徑,相對路徑相對於webapps。

增加自定義web部署文件(推薦使用,不需要重啓Tomcat )


這種方式和方法2差不多,但不是在Server.xml文件中添加Context標籤,而是在$CATALINA_HOME/conf /Catalina/localhost中添加一個xml文件,如test.xml.在Tomcat安裝目錄conf/Catalina /localhost下,裏面有Tomcat自帶的三個應用,隨意複製其中的一個XML文件,然後修改docbase指向你自己的應用程序,並把文件名改 名,各參數參見方法2中的<Context>標籤的參數,或者你也可以自己新建一個XML文件。(注意此文件名將作爲Context中的path屬性值,不管文件裏的path屬性值如何設置也是無效的 ),將以下內容複製過去,修改相應路徑即可。

Xml代碼:

  1. <Context  path ="/Test"  docBase ="/webapps"  

  2.         debug ="0"  privileged ="true"  reloadable ="false"  >  

  3. </Context>

訪問地址如下:http://localhost:8080/Test/  


二、動態部署


動態部署是指可以在服務器啓動之後部署web應用程序,而不用重新啓動服務器。動態部署要用到服務器提供的manager.war文件,如果 在$CATALINA_HOME/webapps/下沒有該文件,你必須去重新下載tomcat,否則不能完成以下的功能。要想使用該管理程序必須首先編 輯$CATALINA_HOME/conf/tomcat-users.xml文件,內容如下:(關於這個文件的更多內容,請參考 Java Web應用程序的安全模型二 

<tomcat-users> 
<role rolename="tomcat"/> 
<role rolename="role1"/> 
<role rolename="manager"/> 
<user username="coresun" password="coresun" roles="manager"/>
 
<user username="tomcat" password="tomcat" roles="tomcat"/> 
<user username="both" password="tomcat" roles="tomcat,role1"/> 
<user username="role1" password="tomcat" roles="role1"/> 
</tomcat-users>


然後在瀏覽器中鍵入如下地址:http://localhost:8080/ ,應該看到一個加菲貓了吧。點擊左邊的Tomcat Manager鏈接,提示輸入用戶名和密碼,本文都是coresun ,然後可以看到以下頁面:

(1)Context Path(option): 中輸入/Pet


(2)XML Configration file URL 中要指定一個.xml文件,比如我們在F:/下建立一個Pet.xml文件,內容如下:<Context   reloadable ="false" > docBase 不用寫了,因爲要在下一個文本框中填入。或者更簡單點,這個文本框什麼都不填。


(3)WAR or Directory URL: 中鍵入F:/PetWet或者F:/Pet.war都可以,然後點擊Deploy按鈕,看看上面是不是已經看到了你web應用程序,名字就是你Context Path(option):中的名字。


(4)如果你部署.war文件還有更加簡單的方式,下面還有個Select WAR file upload 點擊瀏覽選擇.war文件,然後點擊Deploy也可以。




讓tomcat只運行conf/server.xml中指定的web應用

可以有以下2種辦法:

實現一: 

1)將要部署的WEB應用放在webapps以外的路徑, 並在server.xml相應的Context  中的docBase 指定. 

2)刪除webapps中的所有文件夾, 以及conf/catalina/localhost下所有xml文件. 
注: webapps是server.xml中的Host  元素的appBase 屬性的值.

實現二: 

修改server.xml中Host  元素的屬性, 添加或修改: deployXML ="false" deployOnStartup ="false" autoDeploy="false"

含義: 
     deployXML ="false" : 不部署conf/catalina/localhost下的xml相應的WEB應用

     deployOnStartup ="false" :tomcat啓動時, 不部署webapps下的所有web應用

     autoDeploy ="false"  :避免tomcat在掃描改動時, 再次把webapps下的web應用給部署進來.

注:

Tomcat中webapps目錄下不能直接存放網頁格式的文件,否則無法訪問到該文件,必須有子目錄才能訪問該網頁文件。
例如:我們直接將index.html放在webapps目錄中,通過瀏覽器http://localhost:8080/index.html 是無法訪問到index.html的。而必須要webapps/petweb/index.html纔可以通過http://localhost:8080/petweb/index.html 訪問到index.html頁面。


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