天天看點

Tomcat自定義部署

首先,需要把apache=tomcat安裝目錄裡面的

都拷貝到自定義WEB應用目錄下,比如 /home/app/test.aliyun.com/,這個目錄以後就是部署該項目的操作目錄,下面用yourdomain來代替。

檔案夾部署方式(非war包)

方式一 預設配置,直接扔包:

在webapps下面建立ROOT目錄,此ROOT目錄為tomcat預設根網站的目錄,ROOT名稱區分大小寫,必須為大寫

将應用程式的war包解壓後放到ROOT目錄下,此時webapps底下的目錄應該為這種形式

不需要修改yourdomain/conf/server.xml檔案。

然後在yourdomain/bin/目錄下建立start和stop的shell檔案

檔案内容如下:

start.sh 

stop.sh

這兩個檔案在以下流程中通用。

然後啟動就可以

方式二 修改webapps下檔案路徑:

在 yourdomain/webapps/下建立檔案夾,比如 yourdomain/webapps/yourAppName ,

然後把ROOT目錄删除,将web應用的内容拷貝到yourAppName目錄下,此時webapps目錄應該為這種形式

由于此時預設的ROOT目錄沒有了,但因為webapps下面有檔案夾,是以會把yourAppName裡面的内容當做一個web應用加載并啟動起來,

雖然web應用啟動了,但是通路的時候會出現404錯誤,這是因為通路的時候tomcat預設去ROOT下面尋找資源,而ROOT已删除,則資源肯定是查找不到的

此時我們需要配置

conf/server.xml

在<Host name=“localhost”  一欄下面加上

将根路徑從原來預設的ROOT指向我們自定義的yourAppName檔案夾

此時執行 bin/stop.sh   bin/start.sh就可以啟動了,啟動完畢即可正常通路,如果需要添加多個應用,則指定多個context即可。

如果我們隻想把web應用直接放在webapps下面,而不想在webapps下面建立檔案夾再放進去怎麼辦呢?

實際上是可以的,我們來看

方式三 将web應用解壓到webapps下面:

現在的檔案夾目錄如下

如果此時啟動tomcat,tomcat會将webapps下的每一個檔案夾當做一個上下文進行加載,導緻一個web應用被拆分成N個web容器,此時通路極易出異常,

為了避免這種情況,我們需要修改server.xml

将其中的

修改為 

此時再啟動就可以了,這種方式其實等同于另外一種情況,就是你的web應用可以自己組織放在任何地方,而server.xml裡面依然是

這種配置不變,需要變的是Context節點的配置

将其中的docBase指向你自定義的web應用目錄,就可以實作根據要求自行組織web應用群結構的目的了

War包部署方式:

我們可以直接将war包扔到webapps目錄下,此時尚需配置Context節點,将docBase指向war包的名字,不含字尾

這種配置其實是上面的方式二,隻是省了解壓這一步驟,tomcat幫你做了。也可以不加Context,隻是這樣通路的時候url需要加上你的應用名

localhost:port/yourAppName/index.html