各种区域中均支持安装 Web Server 7
已针对各种方案和各种区域对 Web Server 7 安装进行了测试,如下所述:
* 在全局区域中安装 Web Server。可在创建本地区域之前和之后安装 Web Server。
* 在完全根本地区域中安装 Web Server。可在创建其他本地区域之前或之后或在全局区域中安装后安装 Web Server。
* 在稀疏根本地区域中安装 Web Server。可在全局区域或其他本地区域中安装之前或之后安装 Web Server。
* 在任何区域(全局或本地)中安装 Web Server,然后删除其他本地区域(全局区域除外)。即使删除其他本地区域,也不会影响 Web Server 安装。
* 在全局区域中安装 Web Server 管理服务器,然后通过管理服务器在其他本地区域中创建实例(完全根区域或稀疏根区域),前提是先在这些本地区域上安装管理代理并将其注册到管理服务器。这样,便可创建全局管理服务器,以便提升管理和安全性。
Web Server 7 的典型实际实现
下面举例说明了一种应用方案。在此方案中,节点已在防火墙(隔离区或 DMZ)之后的不同区域中配置,而管理服务器已在其他防火墙(非隔离区或 MZ)之后配置,因此,管理服务器最安全,且最不易受外界影响。其中一个节点可以配置为反向代理服务器。为了提升安全性,反向代理服务器既可在防火墙之外,也可位于 DMZ 之内。实际的 Web 服务器使用反向代理服务器进行访问。反向代理服务器通过防火墙从实际的 Web 服务器检索 Web 资源,因而可以极大地避免利用漏洞实施攻击。DMZ 可以包含一个目录服务器,而 MZ 可以包含一个数据库服务器。
位于 MZ(非隔离区)之中:管理服务器(位于 MZ 之中时要用的专用/未注册的 IP 地址)
位于 DMZ(隔离区)之中:节点(上图中的 IP 地址并不是真的;仅用作示例)
已在服务器中配置四个不同的区域,如以上示例 DMZ 区域中所示。主机名和类型如下所述:
* GZ-1:全局区域
* WRZ-1:完全根本地区域
* SRZ-1 和 SRZ-2:稀疏根本地区域
GZ-2 是另外一种可以配置为反向代理的服务器。
不同的安装和配置选项
在上例中,需要安装一个管理服务器,以及一个或多个节点(上例中是四个节点),以便创建服务器群。
安装管理服务器的方法
CLI 模式:通过 console 安装管理服务器。
运行 ./setup --console。
接受“许可证协议”之后,选择“自定义安装”,然后选择“作为管理服务器安装”。需要指定 SSL/非 SSL 端口。
GUI 模式:通过 GUI 安装管理服务器。
./setup 将调用 GUI 屏幕进行安装。
接受“许可证协议”,选择组件和 Java 配置之后,选择“自定义安装”,然后选择“作为管理服务器安装”。需要指定 SSL/非 SSL 端口。完成安装过程。此外,可以指定自己的 Java 路径。所需的 J2SE 版本至少为 1.5.0_08 (UNIX) 和 1.5.0_07 (Windows)。
安装管理代理使节点属于服务器群的方法
CLI 模式:通过 console 为节点安装管理代理。
运行 ./setup --console。
依次选择“自定义安装”和“创建管理节点”。指定主机名和端口。在安装期间,可将节点注册到管理服务器。系统提示进行注册时,请指定要注册该节点的远程管理服务器的主机名和端口。
GUI 模式:通过 GUI 安装管理代理。
./setup 将调用 GUI 进行安装。
依次选择“自定义安装”和“创建管理节点”。指定主机名和端口。在安装期间,可将节点注册到管理服务器。系统提示进行注册时,请指定要注册该节点的远程管理服务器的主机名和端口。
将节点注册到管理服务器的方法
如果在安装期间没有注册节点,仍可在安装后使用 wadm 命令从某个节点注册这些节点。管理服务器必须在运行,以使注册成功。
在安装管理代理之后注册节点:
../wadm --host=<admin-server-host> --port=<admin-ssl-port> \
--user=<admin-user> (将提示输入口令)
wadm> register-node
注销节点(如果需要的话):
../wadm --host=<admin-server-host> --port=<admin-ssl-port> \
--user=<admin-user> (将提示输入口令)
wadm> unregister-node
创建群集配置
前提条件:必须存在服务器群。通过以上步骤创建服务器群。
群集中的所有实例必须是同构的。
假定:配置称作 config1;管理服务器位于名为 AS1 的节点上;注册到该管理服务器的管理代理分别位于名为 WRZ-1、SRZ-1 和 SRZ-2 的节点上。
1. 创建配置。
wadm> create-config --http-port=3456 --server-name=AS1 config1
GUI 导航:“常见任务”-->“配置任务”-->“新建配置”
可以使用此进程创建多项配置。
2. 创建实例。
wadm> create-instance --config=config1 AS1
GUI 导航:a) 实例可在创建 config 时创建,如步骤 1 所述。在该向导中,第一页是“配置信息”-->“下一步”-->“侦听器属性”-->“下一步”-->“配置属性”-->“下一步”-->“创建实例”。
b) “常见任务”页。选择配置。单击“新建实例”。
3. 创建多个实例。
wadm> create-instance --config=config1 AS1 WRZ-1 SRZ-1 SRZ-2
GUI 导航:a) 与步骤 2a 相同。位于“创建实例”页时,选择多个节点,然后添加全部节点,以便创建多个实例。
b) 与步骤 2b 相同。简单的群集配置现已完成。要使这些配置处于活动状态,必须在本地和远程节点上对其进行部署,如下一步所述。
4. 部署配置。
wadm> deploy-config config1
GUI 导航:转到“配置”选项卡。通过选中相应复选框选择所需的配置。使用“更多配置操作”下拉菜单,选择“部署”。
群集配置现已准备就绪。
会话复制
执行群集操作之后,下一个重要步骤是,对会话复制进行配置,使实例中部署的应用程序的会话可以进行故障转移。会话故障转移的目的是为了使 Web 应用程序具有高可用性。通过在同一群集的两个服务器实例之间复制 HTTP 会话,轻量级会话故障转移可以实现上述目标。此后,每个 HTTP 会话都在远程实例上拥有备份副本。如果单个节点在任意特定时刻出现故障,使群集中的一个实例呈现为不可用,则该群集仍将保持会话的连续性。
1. 创建配置,然后创建多个实例,如上所述。
2. 启用会话复制:
wadm> set-session-replication-prop --config=config1 enabled=true
3. 部署配置,并启动所有实例。
GUI 导航:“配置”-->“实例”--> "Java" -->“会话复制”。
通过部署所有 Web 应用程序并从客户机访问同一目标来检查上述配置。
部署 Web 应用程序
1. 使用 CLI 向配置中添加 Web 应用程序:
wadm> add-webapp --config=config1 -vs=config1 -uri=/simple warfile
GUI 导航:单击 config 之后,单击 VS。然后,选择“添加 Web 应用程序”。
2. 部署 Web 应用程序,并访问所有实例。
3. 您也可以使用 ant 部署简单的 Web 应用程序。
监视
这项功能提供了运行时组件和进程的状态方面的信息,可以用来:
* 确定性能瓶颈
* 调整系统以获得最佳性能
* 有助于规划容量
* 预测故障
* 出现故障时分析根本原因
此外,这项功能有时可以用来确保一切如期正常运行。
通过 wadm 命令,可以获得本地和远程实例的监视数据。下面是一些重要的监视命令:
wadm> get-stats-xml-prop --config=name --vs=name
获得特定节点上特定配置的统计信息
wadm> enable-stats-xml [--uri=uri] --config=name --vs=name
通过浏览器获得特定配置和特定节点的统计信息
wadm> get-perfdump-prop --config=name --vs=name
获得特定节点上特定配置的 perfdump 值
wadm> enable-perfdump --config=name --vs=name
通过浏览器获得特定节点上特定配置的 perfdump 值
wadm> get-webapp-stats --config=name --vs=name --uri=path-of-web-app-uri
获得特定 Web 应用程序的统计信息
wadm> get-virtual-server-stats
获得特定虚拟服务器的统计信息
GUI 导航:选择“监视”-->“实例”。
反向代理
正如前面所述的那样,上述方案中的其中一个节点可以配置为反向代理服务器。为了提升安全性,反向代理服务器既可在防火墙之外,也可位于 DMZ 之内。实际的 Web 服务器使用反向代理服务器进行访问。反向代理服务器通过防火墙从实际的 Web 服务器检索 Web 资源,因而可以极大地减少由于漏洞而受到的攻击。借助基本的反向代理功能(包括 URL 重写和循环共享负载平衡),可以使用服务器确保 DMZ 和其他服务器产品的安全。与 NSAPI 过滤器结合使用时,这些功能可以进一步处理代理内容(字符串替换和压缩等)。
前提条件:
* 反向代理配置名称:RPConfig
* 原始服务器 1 主机名:WRZ-1
* 原始服务器 1 端口:3456
* 原始服务器 2 主机名:SRZ-1
* 原始服务器 2 端口:3456
1. 配置反向代理,以将请求传递到原始服务器。HTTP 请求是由客户机向 RP 发出。RP 将请求传递到原始服务器:
wadm> create-reverse-proxy --configRPConfig --vsRPConfig --uri-prefix / --server http://WRZ-1:3456
2. 配置反向代理,以将简单粘滞应用程序的请求传递到不同服务器。在这种配置下,第二个 HTTP 请求应该转到为第一个请求提供服务的同一个服务器,而且第二个请求应该可以检索会话信息。
wadm> create-reverse-proxy --configRPConfig --vsRPConfig --uri-prefix \
/ --server http://SRZ-1:3456,http://WRZ-1:3456
GUI 导航:选择“配置”-->“实例”--> "VS" -->“内容处理”-->“反向代理”。
结论
本文旨在为您提供关于如何设置 Web Server 7 的指导性原则。此外,可参阅管理员指南,以了解其他配置详细信息,如设置安全策略、搜索集合和模式匹配等。
由于 Web Server 7 具有许多新增功能,完全改进了管理功能,而且是当今市场上同类产品中最安全可靠且性能最佳的产品之一,因此我相信它肯定会给您带来全新的用户体验。有关更多信息,请查看使用 Java System Web Server 6.1 SP5 的测试结果:Sun Fire T1000 Server with CoolThreads Technology Outperforms All Competing 1U Systems on the Market。
http://www.sun.com/smi/Press/sunflash/2006-06/sunflash.20060606.2.xml