Tomcat簡單網站部署的三種方式小結
為什么可以隱式部署,是因為 Tomcat 配置了默認主機對應應用 webapps,在 Engine 下你也可以配置其他主機(要保證你配置的主機在 ect/host 下有對應關系),但是 appBase 要確保唯一。保證每臺主機下資源隔離,不會互相亂竄。如下所示:
提示:這里所說的主機換個說法叫做域名,localhost 是 127.0.0.1 的域名,otherlocalhost 也是 127.0.0.1 的一個域名。比如 localhost 域名對應的 appBase 目錄是默認的 webapps,webapps 下面又對應著 n 多網站應用。當你用 http://localhost:8080 訪問時,Tomcat 就知道你要去訪問 webapps 目錄下的某個網站。當你用 http://otherlocalhost:8080 訪問時,Tomcat 就知道你要去訪問 otherHostWeb 目錄下的某個網站。
<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>假設現在我有個網站 MyWeb1,里面有個 abc.html 頁面,內容如下:
<h1>Hello World11111!!!</h1>現在準備把 MyWeb1 部署到 Tomcat 服務器上,可以直接把 MyWeb1 網站丟到默認主機 webapps 下面。如下圖示:
問題:怎么訪問 webapps 主機下面的網站呢?
因為 webapps 主機下沒有指定 path 訪問前綴,所以默認就是 / 前綴。然后你想訪問 webapps 下哪個資源文件,直接定位到路徑即可,比如:abc.html 頁面,訪問路徑:http://localhost:8080/MyWeb1/abc.html 即可。如果 MyWeb1 網站下有首頁 index.html、index.jsp 等存在時,直接訪問 http://localhost:8080/MyWeb1 就能夠進入首頁。同理,訪問 webapps 主機下其他網站也是一個道理。
比如 docs 網站,訪問路徑:http://localhost:8080/docs比如 manager 網站,訪問路徑:http://localhost:8080/manager比如 host-manager 網站,訪問路徑:http://localhost:8080/host-manager比如 examples 網站,訪問路徑:http://localhost:8080/examples最后提醒下每個網站都會有自己的服務處理類 Servlet,而這些 Servlet 都是通過 WEB-INF/web.xml 集成進來。
隱式部署有點不友好就是必須要把網站應用放到 webapps 主機下(配置一臺主機的情況下)。如果這個主機下文件過多,容易出錯。
2、顯示部署在 Server.xml 文件中直接配置 Context 網站應用即可,如下:
<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:相當于是一個主機的根目錄 /,默認名稱叫做 webappspath:在 webapps 主機下會有多個網站,可以通過 path 來進行區分docBase:path 訪問網站文件具體目錄,比如上面的 abc.html 就在 /Users/gwm/Downloads/MyWeb1 文件目錄下。因為 docBase 可以指定網站資源文件位置,所以你就不用將網站再放到之前的 webapps 主機下面。所以最終訪問 abc.html 的路徑是:http://localhost:8080/myWeb1/abc.html。
3、xml 配置部署上面顯示部署需要修改 Server.xml 全局配置文件。該文件非常重要,一般不要輕易修改,否則啟動不了。所以就這里提供了另外一種部署方法,也是最常用的一種方法—xml 配置方式。
當你運行一次 Tomcat 之后,Tomcat 會自動在 conf 文件目錄下自動生成 /config/Catalina/localhost/ 目錄。然后你就可以在這個目錄下新建一個 xml 文件。xml 文件名稱就是你網站的訪問路徑。比如新建一個 abc.xml 文件,如下所示:
<?xml version='1.0' encoding='UTF-8'?><Context docBase='/Users/gwm/Downloads/MyWeb1' reloadable='true'></Context>警告:這里注意聲明 xml 配置時,第一行上面絕對不要有空行。否則這個 xml 文件不生效。
整體目錄如下圖示:
最終訪問路徑:http://localhost:8080/abc/abc.html 推薦使用第三種方式部署服務。修改的文件都是局部文件,不會影響到其他人的部署。
到此這篇關于Tomcat簡單網站部署的三種方式小結的文章就介紹到這了,更多相關Tomcat網站部署內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: