配置虚拟主机
就像应用程序服务器是分别在自己的主机上的多个应用程序服务器一样,虚拟主机让您在单个机器上管理单个应用程序服务器。可通过将多个主机组合成单一虚拟主机,也可通过将各个主机指定给不同的虚拟主机来分隔和控制可供客户机请求使用的资源。
开始之前
关于此任务
虚拟主机将同一台物理机器上的多个资源集隔离开,并独立地管理这些资源集。与一台虚拟主机相关联的资源无法同与另一台虚拟主机相关联的资源共享数据。即使多个虚拟主机在同一台物理机器上共享同一应用程序服务器,这也同样适用。
例如,假设:
- 因特网服务提供商(ISP)有两个客户,他们的因特网站点托管在同一台机器上。通过使用虚拟主机,ISP 让两个站点互相隔离,尽管他们是共享一台机器的。ISP 将第一个公司的资源与 VirtualHost1 相关联,而将第二个公司的资源与 VirtualHost2 相关联。两台虚拟主机都映射至同一应用程序服务器。
- 两个公司的站点提供了同一 Servlet。每个站点都有它自己的 Servlet 实例,但它不知道另一站点上的同一 Servlet。如果其站点组织在 VirtualHost2 上的公司向 ISP 支付的帐户已过期,那么 ISP 可以拒绝路由至 VirtualHost2 的所有 Servlet 请求。即使同一 Servlet 在 VirtualHost1 上可用,但对 VirtualHost2 发出的请求不会到达另一台虚拟主机。
因为 Servlet 与虚拟主机而不是实际 DNS 地址相关联,所以虚拟主机 VirtualHost1 上的 Servlet 不共与虚拟主机 VirtualHost2 上的同名 Servlet 共享其上下文。针对 VirtualHost1 上的 Servlet 的请求会照常继续进行,即使 VirtualHost2 拒绝满足同名 Servlet 的请求也是如此。
如果存在下列任一条件,那么必须更新与缺省虚拟主机相关联的 HTTP 端口号。在下列情况下,也可以定义新的虚拟主机并使其与 HTTP Server 配置使用的端口相关联:
- 如果外部 HTTP Server 配置使用除缺省端口 9080 以外的其他端口,那么必须定义正在使用的端口。
- 虽然正在使用缺省 HTTP 端口 9080,但是不再定义该端口。您必须定义端口 9080。
- 已将多个应用程序服务器创建为独立服务器或集群成员,这些服务器使用同一虚拟主机。由于每个服务器都必须在不同的端口上侦听,因此必须为每个服务器的 HTTP 端口定义一个虚拟主机别名。
如果定义新的虚拟主机别名,那么在管理控制台中的“主机别名设置”页上标识那些别名所使用的端口值。
执行以下步骤以创建新虚拟主机或更改现有虚拟主机的配置。