Tomcat簡單網(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ì)互相亂竄。如下所示:
提示:這里所說的主機(jī)換個(gè)說法叫做域名,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 訪問時(shí),Tomcat 就知道你要去訪問 webapps 目錄下的某個(gè)網(wǎng)站。
當(dāng)你用 http://otherlocalhost:8080 訪問時(shí),Tomcat 就知道你要去訪問 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 頁面,內(nèi)容如下:
<h1>Hello World11111!!!</h1>
現(xiàn)在準(zhǔn)備把 MyWeb1 部署到 Tomcat 服務(wù)器上,可以直接把 MyWeb1 網(wǎng)站丟到默認(rèn)主機(jī) webapps 下面。如下圖示:
問題:怎么訪問 webapps 主機(jī)下面的網(wǎng)站呢?
因?yàn)?webapps 主機(jī)下沒有指定 path 訪問前綴,所以默認(rèn)就是 /
前綴。然后你想訪問 webapps 下哪個(gè)資源文件,直接定位到路徑即可,比如:abc.html 頁面,訪問路徑:http://localhost:8080/MyWeb1/abc.html 即可。如果 MyWeb1 網(wǎng)站下有首頁 index.html、index.jsp 等存在時(shí),直接訪問 http://localhost:8080/MyWeb1 就能夠進(jìn)入首頁。同理,訪問 webapps 主機(jī)下其他網(wǎng)站也是一個(gè)道理。
- 比如 docs 網(wǎng)站,訪問路徑:http://localhost:8080/docs
- 比如 manager 網(wǎng)站,訪問路徑:http://localhost:8080/manager
- 比如 host-manager 網(wǎng)站,訪問路徑:http://localhost:8080/host-manager
- 比如 examples 網(wǎng)站,訪問路徑:http://localhost:8080/examples
最后提醒下每個(gè)網(wǎng)站都會(huì)有自己的服務(wù)處理類 Servlet,而這些 Servlet 都是通過 WEB-INF/web.xml 集成進(jìn)來。
隱式部署有點(diǎn)不友好就是必須要把網(wǎng)站應(yīng)用放到 webapps 主機(jī)下(配置一臺(tái)主機(jī)的情況下)。如果這個(gè)主機(jī)下文件過多,容易出錯(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)站,可以通過 path 來進(jìn)行區(qū)分docBase
:path
訪問網(wǎng)站文件具體目錄,比如上面的 abc.html 就在 /Users/gwm/Downloads/MyWeb1 文件目錄下。因?yàn)?docBase 可以指定網(wǎng)站資源文件位置,所以你就不用將網(wǎng)站再放到之前的 webapps 主機(jī)下面。
所以最終訪問 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)站的訪問路徑。比如新建一個(gè) abc.xml 文件,如下所示:
<?xml version="1.0" encoding="UTF-8"?> <Context docBase="/Users/gwm/Downloads/MyWeb1" reloadable="true"></Context>
警告:這里注意聲明 xml 配置時(shí),第一行上面絕對(duì)不要有空行。否則這個(gè) xml 文件不生效。
整體目錄如下圖示:
最終訪問路徑:http://localhost:8080/abc/abc.html 推薦使用第三種方式部署服務(wù)。修改的文件都是局部文件,不會(huì)影響到其他人的部署。
到此這篇關(guān)于Tomcat簡單網(wǎng)站部署的三種方式小結(jié)的文章就介紹到這了,更多相關(guān)Tomcat網(wǎng)站部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Eclipse創(chuàng)建tomcat實(shí)現(xiàn)過程原理詳解
這篇文章主要介紹了Eclipse創(chuàng)建tomcat實(shí)現(xiàn)過程原理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09Tomcat弱口令復(fù)現(xiàn)及利用(反彈shell)
本文主要介紹了Tomcat弱口令復(fù)現(xiàn)及利用(反彈shell),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Tomcat 中如何給 web 項(xiàng)目配置虛擬目錄的方法
本篇文章主要介紹了Tomcat 中如何給 web 項(xiàng)目配置虛擬目錄的方法,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08Tomcat中catalina.out 和 catalina.log的區(qū)別和用途詳解
本文主要介紹了Tomcat中catalina.out 和 catalina.log的區(qū)別和用途詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02一文教你怎么選擇Tomcat對(duì)應(yīng)的JDK版本
這篇文章主要給大家截介紹了怎么選擇Tomcat對(duì)應(yīng)的JDK版本,如果不知道Tomcat的哪個(gè)版本應(yīng)該對(duì)應(yīng)哪個(gè)版本的JDK,可以參考借鑒本文,對(duì)大家的學(xué)習(xí)有一定的幫助2023-10-10