配置Tomcat的虚拟主机

转自:孙卫琴 《Tomcat与Java Web开发技术详解(第2版)》 电子工业出版社 
摘要:《Tomcat与Java Web开发技术详解(第2版)》第3章第一个JavaWeb应用,本章通过helloapp 应用例子,介绍了JavaWeb 应用的目录结构和开发过程,还介绍了在Tomcat上发布JavaWeb应用的步骤。本小节为大家介绍配置Tomcat的虚拟主机。
标签:Tomcat  Java  Web  JavaWeb  第2版  Tomcat与Java Web开发技术详解

3.3.5  配置Tomcat的虚拟主机

在Tomcat的配置文件server.xml中,<Host>元素代表虚拟主机,在同一个<Engine>元素下可以配置多个虚拟主机。例如,有两个公司的Web应用都发布在同一个Tomcat服务器上,可以为每家公司分别创建一个虚拟主机,它们的虚拟主机名分别为:

www.mycompany1.com
www.mycompany2.com

尽管以上两个虚拟主机实际上对应同一个主机,但是当客户端通过以上两个不同的虚拟主机名访问Web应用时,会感觉这两个应用分别拥有独立的主机。

此外,还可以为虚拟主机建立别名。例如,如果希望客户端访问www.mycompany1.com或mycompany1.com都能对应到同一个Web应用,那么可以把mycompany1.com作为虚拟主机的别名来处理。

下面介绍如何配置www.mycompany1.com虚拟主机。

(1)打开<CATALINA_HOME>/conf/server.xml文件,会发现在<Engine>元素中已经有一个名为localhost的<Host >元素,可以在它的后面(即</Host>标记后面)加入如下<Host>元素:

<Host name="www.mycompany1.com" appBase="C:\mycompany1"
unpackWARs="true" autoDeploy="true">
  <Alias>mycompany1.com</Alias>
  <Alias>mycompany1</Alias>
</Host>


以上配置代码位于本书附赠光盘的sourcecode/chapter03/virtualhost-configure.xml文件中。<Host>元素的属性描述参见表3-6。<Host>元素还有一个子元素<Alias>,用于指定虚拟主机的别名。<Host>元素允许包含多个<Alias>子元素,因此可以指定多个别名。

表3-6  <Host>元素的属性



(续表)



在一般情况下,<Host>元素都会使用默认的标准虚拟主机,即 className 属性使用默认值org.apache.catalina.core.StandardHost。标准虚拟主机除了具有表3-6列出的属性,还具有表3-7所示的属性。

表3-7  标准虚拟主机的专有属性




(2)把helloapp应用(helloapp.war文件或者是整个helloapp目录)复制到<Host>元素的appBase属性指定的目录C:\mycompany1下。

(3)为了使以上配置的虚拟主机生效,必须在 DNS 服务器中注册以上虚拟主机名和别名,使它们的IP地址都指向Tomcat服务器所在的主机。必须注册以下名字:

www.mycompany1.com
mycompany1.com

mycompany1
(4)重启Tomcat服务器,然后通过浏览器访问:
http://www.mycompany1.com:8080/helloapp/login.htm
如果返回正常的页面就说明配置成功。还可以通过虚拟机的别名来访问 helloapp应用:
http://mycompany1.com:8080/helloapp/login.htm
http://mycompany1:8080/helloapp/login.htm

每个虚拟主机都可以有一个默认 Web 应用,它的默认根目录为 ROOT。例如在<CATALINA_HOME>/webapps 目录下有一个 ROOT目录,它是 localhost 虚拟主机的默认Web应用,访问http://localhost:8080/index.jsp,就会显示这个Web应用的index.jsp页面。

对于 www.mycompany1.com 虚拟主机,也可以提供默认的 Web 应用。把C:\mycompany1下的helloapp目录改名为ROOT目录,这个虚拟主机就有了一个默认Web应用。访问http://www.mycompany1.com:8080/login.htm,就会显示这个Web应用的login.htm页面。

Tips

如果要设置默认Web应用的<Context>元素,那么它的path属性的值应该为一个空的字符串(即path="")。

如果要了解更多关于配置Tomcat的虚拟主机的信息,可以参考Tomcat的相关文档,地址为:<CATALINA_HOME>/webapps/docs/virtual-hosting-howto.html。

你可能感兴趣的:(tomcat,虚拟机,应用服务器,Web,出版)