配置虚拟主机
Tomcat服务器允许我们在同一台计算机上配置多个Web站点,在这种情况下,需要为每个Web站点配置不同的主机名,即配置虚拟主机。现实生活中,为了提高硬件资源的利用率,有很多网站通过配置虚拟主机的方式实现服务器的共享。接下来,本节将为大家详细讲解如何配置虚拟主机。
在Tomcat服务器中配置虚拟主机需要使用<Host>元素,打开Tomcat安装目录下的server.xml文件,发现有如下所示的一行代码:
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
在上述这行代码中,<Host>元素代表一个虚拟主机,它的属性name和appBase分别表示虚拟主机的名称和路径,在此,表示虚拟主机的名称为localhost,路径为<Tomcat安装目录>/webapps路径。这时,如果希望添加一个虚拟主机,只需要在server.xml的<Engine>元素中增加一个<Host>元素,将网站存放的目录配置为对应名称的主机即可,例如,将d:\itcast目录配置为一个名为itcast的虚拟主机,具体示例代码如下:
<Engine name="Catalina" defaultHost="localhost">
……
<Host name="itcast" appBase="d:\itcast">
……
</Host>
</Engine>
在上面的示例代码中,使用Host元素配置了一个名称为itcast的虚拟主机。细心的读者可能会发现, <Host>元素有一个父元素<Engine>,一个<Engine>元素用于构建一个处理客户端请求的引擎,它接受Tomcat的连接器传递来的访问请求,进行具体的处理后将结果返回给连接器。<Engine>元素中有一个defaultHost属性,该属性用于指定默认的虚拟主机,即访问的主机如果不存在,则会访问默认的虚拟主机。将itcast配置为默认虚拟主机的具体实现代码如下所示:
<Engine name="Catalina" defaultHost="itcast">
……
<Host name="itcast" appBase="d:\itcast">
……
</Host>
</Engine>
需要注意的是,配置好的虚拟主机要想被外界访问,还必须在DNS(Domain Name System,域名系统)服务器或Windows系统中注册。因为通过浏览器访问一个URL地址时,需要明确该主机所对应的IP地址,由这个IP去连接Web服务器。所以,当虚拟主机配置完毕后,还需要在hosts文件中配置虚拟主机与IP地址的映射关系。通常情况下,hosts文件位于操作系统根目录下的system32\drivers\etc子目录中。打开hosts文件,发现如下所示的一行文本:
127.0.0.1 localhost
这行文本的作用就是建立IP地址(127.0.0.1)和主机名(localhost)的映射关系,这也是在IE浏览器地址栏中可以使用localhost访问本地Web服务器的原因。如果要增加更多的主机名与IP地址的映射关系,只需在这个hosts文件中进行配置即可,例如,将d:\itcast目录配置成一个名为itcast的虚拟主机,配置方式如下所示:
127.0.0.1 itcast