关于Tomcat的server.xml中虚拟主机(Host)和Web应用程序(Context)配置的简要说明

       首先介绍一下虚拟主机的概念:

       虚拟主机(Virtual Hosting)是一种可以让一个Web服务器服务于多个域名的机制,但在不同的域名看来好像是多个不同的服务器提供服务。

一般的在Tomcat的server.xml中简单配置虚拟主机的方法如下:

<Host name="www.xxx.com"  appBase="webapps">
    <Context docBase="aaa" path="" />
</Host>

       其中每个Host节点表示一个虚拟主机的配置,其中name属性表示此虚拟主机对应的域名(访问此域名会到达此虚拟主机或者说由此虚拟主机在该域名上提供服务),请求到达时,Tomcat会根据请求的域名来匹配对应的虚拟主机。appBase表示此虚拟主机的Web应用程序所在的目录,可以是绝对路径或相对于CATALINA_HOME的相对路径。然后Host中的每一个Context节点表示此虚拟主机下的一个Web应用程序(可以有多个Context节点,即多个Web应用程序),其中的docBase属性表示此Web应用程序的解包目录或WAR文件所在目录,如果指定的是相对路径,则该路径是相对于Host中的appBase的路径。path属性表示映射到此Web应用程序根目录的URI。例如:如果配置成path= “abc”,则访问协议://域名:端口/abc/,会请求到该Web应用程序的根目录下,然后此Web应用下的所有资源都是相对于此URI的;如果配置成path="", 则访问协议://域名:端口/,会请求到该Web应用程序的根目录下。

       假如你的一台Tomcat服务器绑定了多个域名,每个域名又分别对应不同的Web应用程序,在这种情况下你就需要在Tomcat中配置多个虚拟主机,来对应多个域名了。

       另一种情况是你只有一个域名,但在此域名下会有多个Web应用程序来提供服务,这时你需要配置一个对应此域名的虚拟主机,然后在此虚拟主机下配置多个Context,每个Context对应不同的path,来对应多个不同的Web应用程序。

       总之,一个完整的请求流程就是:客户端浏览器输入域名及资源路径,按回车,请求发出,首先到达DNS服务器,DNS服务器根据域名解析出对应服务器的IP地址,然后请求到达对应IP地址的服务器后,Tomcat根据server.xml的Host节点的name属性来匹配对应请求的域名,匹配到对应一个Host之后,再根据请求路径中的第一级路径来匹配对应Host中的Context中的path属性,匹配到以后,最后根据请求中的资源路径访问到对应Context中docBase路径对应的Web应用程序中的对应资源。

       参考《Tomcat权威指南》

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值