虚拟服务器(有时也称为虚拟主机)是一个允许同一个物理服务器来托管多个域名的对象。同一个物理服务器上托管的所有虚拟服务器共享该物理服务器的 Internet 协议 (Internet Protocol, IP) 地址。虚拟服务器将某个服务器的域名(例如 www.aaa.com)与运行 Application Server 的特定服务器关联起来。
请勿将 Internet 域与 Application Server 的管理域相混淆。
例如,假设您希望在物理服务器上托管以下这些域:
www.aaa.com www.bbb.com www.ccc.com
同时假设 www.aaa.com、www.bbb.com 和 www.ccc.com 分别将 Web 模块 web1、web2 和 web3 与之关联起来。
这意味着以下 URL 将全部由您的物理服务器处理:
http://www.aaa.com:8080/web1 http://www.bbb.com:8080/web2 http://www.ccc.com:8080/web3
第一个 URL 将被映射到虚拟主机 www.aaa.com,第二个 URL 将被映射到虚拟主机 www.bbb.com,第三个 URL 将被映射到虚拟主机 www.ccc.com。
另一方面,由于未向 www.bbb.com 注册 web3,以下 URL 将导致 404 返回码:
http://www.bbb.com:8080/web3
要使此映射有效,请确保 www.aaa.com、www.bbb.com 和 www.ccc.com 均可解析为物理服务器的 IP 地址。需要向您网络的 DNS 服务器注册这些域名。此外,在 UNIX 系统上,应将这些域添加到 /etc/hosts 文件中(如果 /etc/nsswitch.conf 文件中的 hosts 设置包括 files)。
Application Server 启动时,将自动启动以下虚拟服务器:
名为 server 的虚拟服务器,托管所有用户定义的 Web 模块。
名为 __asadmin 的虚拟服务器,托管所有与管理相关的 Web 模块(特别是管理控制台)。该服务器是一个受限制的服务器,您不能将 Web 模块部署到该虚拟服务器上。
如果是在非生产环境中开发、测试和部署 Web 服务,通常只需使用 server 虚拟服务器。在生产环境中,其他虚拟服务器可以为用户和客户提供托管工具,这样,尽管只有一个物理服务器,但每个用户和客户好像都有自己的服务器。