Tomcat簡(jiǎn)單網(wǎng)站部署的三種方式小結(jié)
1、隱式部署
為什么可以隱式部署,是因?yàn)?Tomcat 配置了默認(rèn)主機(jī)對(duì)應(yīng)應(yīng)用 webapps,在 Engine 下你也可以配置其他主機(jī)(要保證你配置的主機(jī)在 ect/host 下有對(duì)應(yīng)關(guān)系),但是 appBase 要確保唯一。保證每臺(tái)主機(jī)下資源隔離,不會(huì)互相亂竄。如下所示:
提示:這里所說(shuō)的主機(jī)換個(gè)說(shuō)法叫做域名,localhost 是 127.0.0.1 的域名,otherlocalhost 也是 127.0.0.1 的一個(gè)域名。
比如 localhost 域名對(duì)應(yīng)的 appBase 目錄是默認(rèn)的 webapps,webapps 下面又對(duì)應(yīng)著 n 多網(wǎng)站應(yīng)用。
當(dāng)你用 http://localhost:8080 訪問(wèn)時(shí),Tomcat 就知道你要去訪問(wèn) webapps 目錄下的某個(gè)網(wǎng)站。
當(dāng)你用 http://otherlocalhost:8080 訪問(wèn)時(shí),Tomcat 就知道你要去訪問(wèn) otherHostWeb 目錄下的某個(gè)網(wǎng)站。
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Host name="otherlocalhost" appBase="otherHostWeb" unpackWARs="true" autoDeploy="true">
</Engine>
</Service>
</Server>假設(shè)現(xiàn)在我有個(gè)網(wǎng)站 MyWeb1,里面有個(gè) abc.html 頁(yè)面,內(nèi)容如下:
<h1>Hello World11111!!!</h1>
現(xiàn)在準(zhǔn)備把 MyWeb1 部署到 Tomcat 服務(wù)器上,可以直接把 MyWeb1 網(wǎng)站丟到默認(rèn)主機(jī) webapps 下面。如下圖示:

問(wèn)題:怎么訪問(wèn) webapps 主機(jī)下面的網(wǎng)站呢?
因?yàn)?webapps 主機(jī)下沒(méi)有指定 path 訪問(wèn)前綴,所以默認(rèn)就是 / 前綴。然后你想訪問(wèn) webapps 下哪個(gè)資源文件,直接定位到路徑即可,比如:abc.html 頁(yè)面,訪問(wèn)路徑:http://localhost:8080/MyWeb1/abc.html 即可。如果 MyWeb1 網(wǎng)站下有首頁(yè) index.html、index.jsp 等存在時(shí),直接訪問(wèn) http://localhost:8080/MyWeb1 就能夠進(jìn)入首頁(yè)。同理,訪問(wèn) webapps 主機(jī)下其他網(wǎng)站也是一個(gè)道理。
- 比如 docs 網(wǎng)站,訪問(wèn)路徑:http://localhost:8080/docs
- 比如 manager 網(wǎng)站,訪問(wèn)路徑:http://localhost:8080/manager
- 比如 host-manager 網(wǎng)站,訪問(wèn)路徑:http://localhost:8080/host-manager
- 比如 examples 網(wǎng)站,訪問(wèn)路徑:http://localhost:8080/examples
最后提醒下每個(gè)網(wǎng)站都會(huì)有自己的服務(wù)處理類 Servlet,而這些 Servlet 都是通過(guò) WEB-INF/web.xml 集成進(jìn)來(lái)。
隱式部署有點(diǎn)不友好就是必須要把網(wǎng)站應(yīng)用放到 webapps 主機(jī)下(配置一臺(tái)主機(jī)的情況下)。如果這個(gè)主機(jī)下文件過(guò)多,容易出錯(cuò)。
2、顯示部署
在 Server.xml 文件中直接配置 Context 網(wǎng)站應(yīng)用即可,如下:
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Context path="/myWeb1" docBase="/Users/gwm/Downloads/MyWeb1" reloadable="true">
</Engine>
</Service>
</Server>appBase:相當(dāng)于是一個(gè)主機(jī)的根目錄/,默認(rèn)名稱叫做 webappspath:在 webapps 主機(jī)下會(huì)有多個(gè)網(wǎng)站,可以通過(guò) path 來(lái)進(jìn)行區(qū)分docBase:path訪問(wèn)網(wǎng)站文件具體目錄,比如上面的 abc.html 就在 /Users/gwm/Downloads/MyWeb1 文件目錄下。因?yàn)?docBase 可以指定網(wǎng)站資源文件位置,所以你就不用將網(wǎng)站再放到之前的 webapps 主機(jī)下面。
所以最終訪問(wèn) abc.html 的路徑是:http://localhost:8080/myWeb1/abc.html。
3、xml 配置部署
上面顯示部署需要修改 Server.xml 全局配置文件。該文件非常重要,一般不要輕易修改,否則啟動(dòng)不了。所以就這里提供了另外一種部署方法,也是最常用的一種方法—xml 配置方式。
當(dāng)你運(yùn)行一次 Tomcat 之后,Tomcat 會(huì)自動(dòng)在 conf 文件目錄下自動(dòng)生成 /config/Catalina/localhost/ 目錄。然后你就可以在這個(gè)目錄下新建一個(gè) xml 文件。xml 文件名稱就是你網(wǎng)站的訪問(wèn)路徑。比如新建一個(gè) abc.xml 文件,如下所示:
<?xml version="1.0" encoding="UTF-8"?> <Context docBase="/Users/gwm/Downloads/MyWeb1" reloadable="true"></Context>
警告:這里注意聲明 xml 配置時(shí),第一行上面絕對(duì)不要有空行。否則這個(gè) xml 文件不生效。
整體目錄如下圖示:

最終訪問(wèn)路徑:http://localhost:8080/abc/abc.html 推薦使用第三種方式部署服務(wù)。修改的文件都是局部文件,不會(huì)影響到其他人的部署。
到此這篇關(guān)于Tomcat簡(jiǎn)單網(wǎng)站部署的三種方式小結(jié)的文章就介紹到這了,更多相關(guān)Tomcat網(wǎng)站部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Tomcat虛擬路徑訪問(wèn)本地圖片失敗的問(wèn)題
這篇文章主要介紹了Tomcat虛擬路徑訪問(wèn)本地圖片失敗的問(wèn)題,其實(shí)解決方法很簡(jiǎn)單,只需要在idea配置Tomcat時(shí)要把8080后面那個(gè)選項(xiàng)勾上,需要的朋友可以參考下2022-08-08
maven項(xiàng)目遠(yuǎn)程部署&&使用tomcat配置數(shù)據(jù)庫(kù)連接的方法
這篇文章主要介紹了maven項(xiàng)目遠(yuǎn)程部署&&使用tomcat配置數(shù)據(jù)庫(kù)連接,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
使用jconsole監(jiān)聽(tīng)遠(yuǎn)程Tomcat服務(wù)的方法
這篇文章主要介紹了使用jconsole監(jiān)聽(tīng)遠(yuǎn)程Tomcat服務(wù),需要的朋友可以參考下2018-09-09
在同一臺(tái)服務(wù)器上配置多個(gè)Tomcat的方法
本篇文章主要講訴了在同一臺(tái)服務(wù)器上配置多個(gè)Tomcat的方法,主要是解決端口沖突問(wèn)題,有需要的可以了解一下。2016-11-11
解決Tomcat:One or more listeners failed&nb
這篇文章主要介紹了解決Tomcat:One or more listeners failed to start.報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-06-06
tomcat之目錄映射_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
一個(gè)web應(yīng)用包含了許多我們做好的web資源,里面或許包括了多個(gè)靜態(tài)web資源和動(dòng)態(tài)web資源,而我們都知道服務(wù)器的虛擬目錄映射有三種方式,具體哪三種方式,感興趣的朋友可以通過(guò)本文學(xué)習(xí)2017-07-07

