使用虚拟服务器时,您只需安装一台服务器便可以为多个公司或个人提供域名、IP 地址以及某些服务器监视功能。对于用户来说,他们就像拥有了自己的 Web 服务器,只不过是由您提供硬件并进行基本的 Web 服务器维护。
所有虚拟服务器都需要指定 HTTP 侦听器。当一个新请求传入时,服务器将根据配置的 HTTP 侦听器确定将该请求发送到哪个虚拟服务器。
服务器实例可以包含任意数量的 HTTP 侦听器(安全和非安全侦听器)。您可以使用基于 IP 地址的虚拟服务器,也可以使用基于 URL 主机的虚拟服务器。
每个虚拟服务器都可以(而非必须)拥有自己的 ACL 列表、mime.types 文件和 Java Web 应用程序集。
此设计提供了最大的灵活性,使您可以为各种应用程序配置服务器。以下示例讨论了一些可用于 Web Server 的配置。
在安装新的 Web Server 后,将会创建一个服务器实例。该服务器实例只使用一个 HTTP 侦听器,它在端口 80(或安装时所选的任何端口)上侦听为计算机配置的任何 IP 地址。
本地网络中的某些机制为计算机配置的每个地址都建立了名称-地址映射。以下示例中的计算机有两个网络接口: 地址 127.0.0.1 上的回送接口(即使在没有网卡的情况下仍然存在的接口)和地址 10.0.0.1 上的以太网接口。
名称 example.com 通过 DNS 映射为 10.0.0.1。HTTP 侦听器被配置为在端口 80 上侦听为计算机配置的任何地址("ANY:80" 或 "0.0.0.0:80")。
在此配置中,到以下地址的连接将到达服务器并由虚拟服务器 VS1 处理。
http://127.0.0.1/(在 example.com 上启动)
http://localhost/(在 example.com 上启动)
http://example.com/
http://10.0.0.1/
此配置适用于传统的 Web 服务器。无需添加附加的虚拟服务器或 HTTP 侦听器。
请参见为服务器配置 SSL。
一种更复杂的 Web Server 配置是,服务器在内联网部署中托管几个虚拟服务器。例如,假设您有三个内部站点,员工可在这些站点中查找其他用户的电话号码、查看校园地图以及跟踪发送到信息服务部门的请求的状态。以前(在本示例中),这些站点托管在三个不同的计算机中,这些计算机映射为名称 phone.example.com、maps.example.com 和 is.example.com。
为了将硬件和管理开销减少到最低程度,用户可以将这三个站点合并为计算机 example.com 上的一个 Web 服务器。可以使用以下两种方法进行此设置: 使用基于 URL 主机的虚拟服务器或使用单独的 HTTP 侦听器。两者都有明显的优点和缺点。
使用基于 URL 主机的虚拟服务器的内部网托管
尽管基于 URL 主机的虚拟服务器易于设置,但它们具有以下缺点:
在此配置中支持 SSL 需要使用通配符证书进行非标准设置。
基于 URL 主机的虚拟服务器不能与传统的 HTTP 客户机一起使用。
您也可以设置基于 IP 地址的配置,每个地址一个 HTTP 侦听器:
使用单独的 HTTP 侦听器的内部网托管
基于 IP 地址的虚拟服务器的优点包括:
它们可以与不支持 HTTP/1.1 Host 标头的旧客户机一起使用。
提供 SSL 支持比较简便。
缺点包括:
它们要求更改主机上的配置(实际或虚拟网络接口的配置)。
它们不能缩放至具有上千个虚拟服务器的配置。
两种配置都要求为三种名称设置名称到地址的映射。在基于 IP 地址的配置中,每个名称都映射为不同的地址。必须对主机进行设置,才能接收所有这些地址上的连接。在基于 URL 主机的配置中,所有名称都可以映射为同一地址(计算机最初具有的地址)。
具有多个 HTTP 侦听器的配置所带来的性能增益可能最少,因为服务器不必查明传入请求的地址。但是由于其他接收方线程,使用多个 HTTP 侦听器也将导致额外开销(内存和调度)。
海量托管是一个可以启用许多低通信量虚拟服务器的配置。例如,ISP(托管许多低通信量的个人主页)便属于海量托管。
虚拟服务器通常基于 URL 主机。例如,可能有一个配置只允许静态内容,而另一个配置允许静态内容和 CGI。
您应该已创建/识别需要通过其创建虚拟服务器的配置。
您应该已创建/识别 HTTP 侦听器。
您应该已识别新虚拟服务器的主机。
选择需要从中添加虚拟服务器的配置。您可以从“配置”选项卡中显示的配置列表选择配置。
单击“虚拟服务器”选项卡 >“新建”按钮。
此时将显示一个弹出式向导页面,此页面将指导您完成虚拟服务器的配置过程。在此向导页面中,请执行以下步骤:
您将会看到向导摘要页面。要更改配置,请单击“上一页”返回到先前的页面。单击完成以完成新虚拟服务器的配置过程。
此时将显示结果页面。如果发现任何错误,请返回至向导中的前几个页面,再次配置虚拟服务器。
使用 CLI
要通过 CLI 添加虚拟服务器,请执行以下命令:
wadm> create-virtual-server --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --document-root=../docs config1_vs_1 |
请参见 CLI 参考 create-virtual-server(1)。
要配置虚拟服务器的常规设置,请执行以下任务:
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取可用配置的列表。
选择虚拟服务器。
从虚拟服务器列表中选择虚拟服务器。单击“虚拟服务器”选项卡为选定的配置获取可用的虚拟服务器。
单击“常规”选项卡。配置以下设置。
已启用-是否在运行时启用虚拟服务器。
文档根目录-虚拟服务器的文档根目录路径,其中存储虚拟服务器的数据。这包括展开的 Web 应用程序目录和日志文件。
主机-您可以输入多个 URL 主机,之间用逗号分隔。
要复制虚拟服务器,请执行以下步骤:
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取可用配置的列表。
选择虚拟服务器。
从虚拟服务器列表中选择虚拟服务器。单击“虚拟服务器”选项卡为选定的配置获取可用的虚拟服务器。
单击“复制”按钮。
为新的虚拟服务器提供名称。
使用 CLI
要通过 CLI 复制虚拟服务器,请执行以下命令:
wadm> copy-virtual-server --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 copiedVs |
copiedVS 是新的虚拟服务器的名称。
请参见 CLI 参考 copy-virtual-server(1)。
服务器在将请求转发给配置的虚拟服务器之前,通过 HTTP 侦听器接受 HTTP 请求。此页面允许您添加和配置 HTTP 侦听器。
HTTP 侦听器必须具有唯一的端口号和 IP 地址组合。您可以使用 IPv4 地址或 IPv6 地址。将 IP 地址设置为 "*",可以创建在该端口上侦听所有 IP 地址的 HTTP 侦听器。
要为虚拟服务器创建新的 HTTP 侦听器以处理传入的 HTTP 请求,请执行以下步骤:
单击“配置”选项卡下的虚拟服务器选项卡。
单击 HTTP 侦听器子选项卡以查看配置的 HTTP 侦听器列表。
单击新建按钮将弹出用于创建新 HTTP 侦听器的向导页面。
在向导页面中提供以下信息。
名称-新 HTTP 侦听器的名称。
端口-绑定和侦听传入 HTTP 请求的 HTTP 侦听器的端口。
IP 地址-有效的 IPv4 或 IPv6 地址。"*" 表示 HTTP 侦听器将侦听配置端口上的所有 IP 地址。
服务器名-输入服务器名,例如 sales.mycomp.com。
默认虚拟服务器-从下拉式列表中选择虚拟服务器。此操作将为选定的虚拟服务器关联新的 HTTP 侦听器。
描述(可选)-输入 HTTP 侦听器的简短描述。
使用 CLI
要通过 CLI 创建 HTTP 侦听器,请执行以下命令:
wadm> create-http-listener --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --listener-port=18003 --config=config1 --server-name=config1.com --default-virtual-server-name=config1_vs_1 config1_ls_1 |
请参见 CLI 参考 create-http-listener(1)。
要编辑现有的 HTTP 侦听器设置,请执行以下步骤:
单击“服务器配置”下的虚拟服务器选项卡以编辑现有的 HTTP 侦听器设置。
单击 HTTP 侦听器子选项卡以查看配置的 HTTP 侦听器列表。
在侦听器名称表列下,单击需要编辑其设置的 HTTP 侦听器。
您可以为 HTTP 侦听器编辑常规设置和与安全性相关的设置。
单击常规选项卡以编辑基本和高级 HTTP 侦听器设置。配置以下选项:
名称-新 HTTP 侦听器的名称。
端口-绑定和侦听传入 HTTP 请求的 HTTP 侦听器的端口。
IP 地址-有效的 IPv4 或 IPv6 地址。"*" 表示 HTTP 侦听器将侦听配置端口上的所有 IP 地址。
服务器名-输入服务器名,例如 sales.mycomp.com。
在高级部分下,选择配置高级设置选项以编辑 HTTP 侦听器高级设置。配置以下选项:
接收方线程-专用于接受此侦听器所接收的连接的线程数。接受的值为 1 至 128。
协议系列-侦听器使用的协议。请不要修改此值。默认值为 HTTP。
侦听队列大小-操作系统待办事项侦听队列的最大大小。
接收缓冲区大小-操作系统套接字接收缓冲区的大小(以字节为单位)。
发送缓冲区大小-操作系统套接字发送缓冲区的大小(以字节为单位)。
分块 I/O-确定 HTTP 侦听器套接字是否正处于分块模式。默认情况下,禁用该选项。