WebSphere® Application
Server 提供 Web 服务器插件,可配置该插件以与特定品牌的 Web 服务器进行通信。了解如何在一台机器上安装 Web 服务器及 WebSphere Application Server 的 Web 服务器插件,以及在另一台机器上配置缺省概要文件中的应用程序服务器以与该 Web 服务器进行通信。
开始之前
当存在多个概要文件时,可以选择 Web 服务器插件工具配置的概要文件。有关用来确定如何选择要配置的概要文件的逻辑流的描述,请参阅插件配置。
当存在多个概要文件时,可以选择 Web 服务器插件工具配置的概要文件。有关用来确定如何选择要配置的概要文件的逻辑流的描述,请参阅插件配置。
如果 WebSphere
Application Server 产品系列支持特定品牌的 Web 服务器(如 IBM®
HTTP Server 或 Microsoft Internet 信息服务 (IIS)),那么 WebSphere Application Server 产品提供您必须安装的 Web 服务器的二进制插件。
如果 WebSphere Application Server 产品系列没有为特定品牌的 Web 服务器提供二进制插件,那么该 Web 服务器不受支持。二进制插件的目的是提供 Web 服务器和应用程序服务器间的通信协议。
假设您创建新的概要文件,并且您还要使用 Web 服务器。您必须为新的概要文件安装新的 Web 服务器,安装 Web 服务器插件,并使用 Web 服务器插件配置工具来配置 Web 服务器以及应用程序服务器。
如果还没有安装 Web 服务器,那么您仍可以安装 Web 服务器插件以备以后使用。
关于此任务
安装 Web 服务器插件会安装插件模块。Web 服务器插件配置工具会配置 Web 服务器以与应用程序服务器通信,并且如果可能,会在应用程序服务器中创建 Web 服务器配置定义。
支持的配置: 此工具只在 AIX®、Linux 和 Windows 上受支持。除了使用 Web 服务器插件配置工具之外,还可将 PCT 命令行工具与响应文件配合使用来配置 Web 服务器。请阅读
使用 pct 工具配置 Web 服务器插件以了解更多信息。
sptcfg
此过程配置应用程序服务器概要文件,该文件是机器上的缺省概要文件。
Web 服务器和应用程序服务器之间存在一对一的关系。
本文描述如何创建以下拓扑:
注意: 如果您计划将应用程序服务器节点添加到 Deployment Manager 单元,但是还没有执行该操作,那么在配置插件之前,启动 Deployment Manager 并联合该节点。您无法将应用程序服务器和 Web 服务器定义添加到 Deployment Manager 单元。
由于 Web 服务器在另一台机器上,因此以下拓扑被视为远程拓扑。此图显示了分布式环境的典型远程拓扑:
本文描述了在一台机器上安装 Web 服务器并在另一台机器上安装应用程序服务器。在这种情况下,一台机器上的 Web 服务器插件配置工具无法在另一台机器上的应用程序服务器配置中创建 Web 服务器定义。
这种情况下,Web 服务器插件配置工具会在 Web 服务器上创建脚本,您可以将该脚本复制到应用程序服务器。在应用程序服务器上运行该脚本,以在应用程序服务器配置中创建 Web 服务器配置定义。
执行以下过程来安装插件和配置 Web 服务器以及应用程序服务器。
过程
- 在机器 A 和机器 B 上安装 Installation Manager。
- 在机器 A 上使用 Installation Manager 安装 WebSphere Application Server Network Deployment。
- 在机器 A 上创建独立应用程序服务器。
- 可选: 为缺省虚拟主机创建新的主机别名。
如果将
Web 服务器配置为使用除端口 80 以外的端口,那么必须为缺省主机的该端口添加新主机别名。例如,当以非 root 用户身份运行时,IBM HTTP Server 配置为使用缺省端口值 8080。
- 使用 Installation Manager 在机器 B 上安装下列各项。
- WebSphere Application Server 的 Web 服务器插件
- Websphere Customization Toolbox
- 使用 Installation Manager 在机器 B 上安装 IBM HTTP Server,或者在机器
B 上安装另一个受支持的 Web 服务器。
打开 WebSphere Customization Toolbox 并在具有 Web 服务器的机器上启动 Web 服务器插件配置工具。
- 选择 Web 服务器插件运行时位置。
如果要使用的位置(先前安装的 Web 服务器的位置)不在列表中,请执行下列操作以将该位置添加到您的工作集:
- 单击添加。
- 输入 Web 服务器插件位置的名称。
- 请执行下列其中一项操作:
- 单击创建。
- 选择您要配置的 Web 服务器的类型,然后单击下一步。
- 选择已安装的目标 Web 服务器的体系结构(64 位或 32 位),然后在系统询问时单击下一步。
- 单击浏览以选择 Web 服务器的配置文件、验证 Web 服务器端口是否正确,然后完成时单击下一步。
选择文件而不仅仅是文件的目录。某些 Web 服务器有两个配置文件并且需要您浏览每个文件。
以下列表显示了支持的 Web 服务器的配置文件:
- Apache HTTP Server
- apache_root/config/httpd.conf
- Domino® Web Server
- names.nsf 和 Notes.jar
向导会提示 notes.jar 文件。实际名称为 Notes.jar。
Web 服务器插件配置工具将验证文件是否存在,但是该工具不会验证其中任何一个文件。
- IBM HTTP Server
IHS_root/conf/httpd.conf
IHS_profile_root/conf/httpd.conf
- Microsoft Internet
Information Services (IIS)
- Web 服务器插件配置工具可以确定要编辑的正确文件。
- Sun Java™ System Web Server(以前称为
Sun ONE Web Server 和 iPlanet Web Server)V6.0 和更高版本
- obj.conf 和 magnus.conf
- 如果要配置 IBM HTTP Web 服务器插件,请执行下列操作。
- (可选)设置管理服务器配置以管理 Web 服务器。
注意: 使用 Web 服务器插件配置工具来配置 IBM HTTP Server 管理服务器时,必须以具有管理员/root 用户特权的“本地”帐户运行 Websphere Customization Toolbox。
- 选择设置 IBM HTTP Server 管理服务器。
- 指定 IBM HTTP 管理服务器将用于通信的端口号。
- (可选)选择创建用于 IBM Server 管理服务器认证的用户标识,并输入用户标识和密码以通过管理控制台向 IBM HTTP Server 管理服务器进行认证。
- 单击下一步。
![[AIX]](../images/aixlogo.gif)
指定对 IBM HTTP Server、IBM HTTP Server 管理服务器以及 Web 服务器插件配置文件具有写许可权的系统用户标识和组。必要时选择使用凭证创建新的唯一系统用户标识和组。
限制: 用户标识名称或组名长度的平台限制通常为 8 个字符,但有时也可以进行配置。如果您指定的新用户标识名称或组名的长度超过了此限制,那么配置可能会失败。
(可选)对 IBM HTTP Server 管理服务器进行设置,以使其作为 Windows 服务运行。- 选择将 IBM HTTP Server 管理服务器作为 Windows 服务运行。
- 请执行下列其中一项操作:
- 选择以本地系统帐户登录。
- 选择以指定用户帐户登录,并输入该帐户的用户标识和密码。
- 选择启动类型将为自动还是手动。
- 单击下一步。
- 指定 Web 服务器定义的唯一名称,然后单击下一步。
- 选择配置方案。
- 选择远程方案。
- 识别机器 A(应用程序服务器计算机)的主机名或 IP 地址。
- 单击下一步。
- 选择要使用当前 Web 服务器插件进行配置的概要文件,然后单击下一步。
如果您在上一步中已选择远程方案,那么不会显示此面板。
- 检查总结面板,然后单击配置以开始配置。
该面板通知您可以执行手动步骤来完成安装和配置。
Web 服务器插件配置工具将在机器 B(安装了 Web 服务器的机器)上的 plugins_root/bin/ 目录中创建 configureweb_server_name 脚本。
Web 服务器插件配置工具还将在 plugins_root/config/web_server_name 目录中创建 plugin-cfg.xml 文件。
Web 服务器读取 plugin-cfg.xml 文件来确定机器 A 上的应用程序服务器可以为机器 B 上的 Web 服务器提供服务的应用程序。每当配置发生更改时,应用程序服务器都会重新生成此文件。当重新生成此文件时,将目前的 plugin-cfg.xml 文件从应用程序服务器传播或复制到 Web 服务器。您可以自动将此文件传播到 IBM HTTP Server 产品。
- 在摘要面板中验证安装是否成功,然后单击完成。
如果出现问题并且安装未成功,那么检查
plugins_root/logs 目录中的日志。
更正任何问题并重新进行配置。
- 将 configureweb_server_name 脚本从机器 B(安装了 Web 服务器的机器)复制到机器 A(应用程序服务器机器)上的 app_server_root /bin 目录。
web_server_name 是您指定的 Web 服务器的昵称。web_server_name 不是供应商名称,例如 IIS 或 Apache。
在诸如 AIX 或
Linux 之类的操作系统上,文件是 configureWeb_server_name.sh。在
Windows 系统上,文件是 configureweb_server_name.bat。例如,在缺省位置具有名为
web_server_1 的 IBM HTTP Server 的 Linux 系统上,将 plugins_root/bin/configureweb_server_1.sh 从机器 B(安装了 Web 服务器的机器)复制到机器 A(应用程序服务器机器)上的 app_server_root/bin 目录。
例如,在缺省位置具有名为 web_server_1 的 IBM
HTTP Server 的 IBM i 系统上,将 plugins_root/bin/configureweb_server_1 从机器 B(安装了
Web 服务器的机器)复制到机器 A(应用程序服务器机器)上的 app_server_root/bin 目录。
- 补偿文件编码差异以防止发生脚本故障。
如果两台机器的缺省文件编码不同,那么可能会破坏 configureweb_server_name.bat 脚本或 configureweb_server_name.sh 脚本的内容。当为一台机器设置了双字节字符集 (DBCS) 语言环境,但没有为另一台机器设置该语言环境时,可能就会发生这种情况。
如果两台机器的缺省文件编码不同,那么可能会破坏 configureweb_server_name 脚本的内容。当为一台机器设置了双字节字符集 (DBCS) 语言环境,但没有为另一台机器设置该语言环境时,可能就会发生这种情况。
确定文件编码,并使用下列其中一个过程来防止发生故障。要确定缺省文件编码,请运行适当的命令。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
- 在诸如 AIX 或
Linux 之类的系统上运行 locale charmap 命令。
- 在 Windows 机器上运行 CHCP 命令。
在以下某个过程中,将每台机器上的命令结果用作 web_server_machine_encoding 变量和 application_server_machine_encoding 变量的值。用于补偿编码差异的过程
如果在一行上输入整个命令,那么省略连续字符 (\)。
如果您所在系统上的 iconv 命令不支持转换映射,那么将 Web 服务器配置脚本的内容复制到一个剪贴板,然后将它粘贴到正在运行应用程序服务器的机器上。
注: 如果在 Windows 操作系统上进行远程配置之后,将 .sh 文件复制到基于 UNIX 的操作系统上,那么必须执行 chmod 755。
- 启动机器 A 上的应用程序服务器。
- 打开命令窗口,并切换至应指定 Web 服务器的概要文件目录。运行已复制到机器 A(应用程序服务器机器)中的脚本。 您需要以下参数:
- 概要文件名称
- (可选)管理用户标识
- (可选)管理用户密码
例如,可以输入以下内容:configurewebserver1.sh AppSrv01 my_user_ID my_Password
Web 服务器将通过 wsadmin 进行配置。configurewebserver1.sh 脚本的内容将类似于:
wsadmin.bat -profileName AppSrv01 -user my_user_ID -password my_Password
-f "%WAS_HOME%\bin\configureWebserverDefinition.jacl" webserver1 IHS..
- 从 Deployment Manager 的管理控制台,单击系统管理 > 将更改保存到主存储库 > 与节点同步更改 > 保存。
仅限 Domino Web 服务器:设置 WAS_PLUGIN_CONFIG_FILE 环境变量。 在诸如 AIX 或 Linux 之类的平台上,将父 shell 的脚本作为源允许子进程继承导出的变量。在
Windows 系统上,采用运行任何其他命令的方式运行脚本。在
Windows 系统上,会自动将脚本视为源。
- 打开命令窗口。
- 切换至插件安装根目录。
- 对 plugins_root/bin/setupPluginCfg.sh 脚本发出相应的命令:
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
. plugins_root/bin/setupPluginCfg.sh(注意,句点与安装根目录之间存在空格。)
source plugins_root/bin/setupPluginCfg.sh
在诸如 AIX 或
Linux 之类的操作系统上,脚本还位于 lotus_root/notesdata 目录中。
启动 Domino Web
Server 之前,对脚本发出相应的命令。
- 使用管理控制台在机器 A(应用程序服务器机器)上重新生成 plugin-cfg.xml 文件。单击服务器
> 服务器类型 > Web 服务器。选择 Web 服务器,然后单击生成插件。
在插件安装期间,缺省 plugin-cfg.xml 文件安装在机器 B(安装了 Web 服务器的机器)的 plugins_root/config/web_server_name 目录中。Web 服务器插件配置服务自动重新生成 plugin-cfg.xml 文件。要从应用程序服务器中使用当前的 plugin-cfg.xml 文件,请按下一步中所述来传播 plugin-cfg.xml 文件。
此步骤向您显示如何重新生成 plugin-cfg.xml 文件。
将 WebSphere Application Server 产品配置为每当发生重大事件时自动重新生成该文件。例如,这些重大事件包括在应用程序服务器和 Web 服务器上安装应用程序。创建新的虚拟主机是另一种重大事件。
- 使用管理控制台将 plugin-cfg.xml 文件从应用程序服务器传播到 Web 服务器。单击服务器 > Web 服务器。选择 Web 服务器,然后单击传播插件。除了IBM HTTP Server,其他的 Web 服务器需要手动传播。
Web 服务器插件配置服务仅对 IBM HTTP Server 自动传播 plugin-cfg.xml 文件。对于所有其他 Web 服务器,通过将 plugin-cfg.xml 文件从机器 A(应用程序服务器机器)上的 profile_root/config/cells/cell_name/nodes/node_name/servers/Web_server_name 目录手动复制到机器 B(安装了 Web 服务器的机器)上的 plugins_root/config/web_server_name 目录来传播插件配置文件。
- 启动 Snoop servlet 以验证 Web 服务器从 Application Server 检索应用程序的能力。
通过启动应用程序服务器和 Web 服务器并通过 IP 地址使用 Snoop servlet 来测试您的环境。
- 启动应用程序服务器。 在 Network Deployment 环境中,仅在将 Application Server 添加到单元时包括 DefaultApplication 的情况下,才能在单元中使用 Snoop Servlet。addNode 命令的 -includeapps 选项迁移 DefaultApplication 到单元。如果应用程序不存在,那么跳过此步骤。
- 启动 IBM HTTP
Server 或者您正在使用的 Web 服务器。
使用 2001 页或者使用 STRTCPSVR
SERVER(*HTTP) HTTPSVR(instance_name ) 命令来启动 IBM HTTP Server。
使用命令窗口将目录切换至 IBM HTTP Server 安装映像,或者切换至 Web 服务器的安装映像。发出相应的命令以启动
Web 服务器,如对于 IBM HTTP Server 发出这些命令:
要从命令行启动 IBM HTTP Server,请完成下列步骤:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
访问
IBMHttpServer/bin 目录中的
apache 和
apachectl 命令。
- 将浏览器指向 http://localhost:9080/snoop,以测试应用程序服务器提供的内部 HTTP 传输。将浏览器指向 http://Host_name_of_Web_server_machine/snoop 以测试 Web 服务器插件。
缺省情况下,HTTP 传输端口是 9080,并且对于每个概要文件必须唯一。该端口与名为 default_host
的虚拟主机相关联,此虚拟主机配置为主管已安装的 DefaultApplication。Snoop servlet 是 DefaultApplication 的一部分。更改端口以与实际的 HTTP 传输端口匹配。
- 验证该 Snoop 是否正在运行。
任一 Web 地址都应该显示“Snoop Servlet - Request/Client Information”页面。
- 仅对于远程 IBM HTTP Server:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
使用以下步骤来验证自动传播功能是否能在远程 IBM HTTP Server 上运行。对于本地 Web 服务器,此过程不是必需的。
- 在 IHS_root /conf/admin.passwd 文件中创建用户 adminUser 和密码 adminPassword。例如:c:\ws\ihs85\bin\htpasswd -cb c:\ws\ihs85\conf\admin.passwd
adminUser adminPassword
- 使用 Deployment Manager 或应用程序服务器的管理控制台来输入您为 IBM HTTP Server 的管理用户创建的用户标识和密码信息。转至服务器 >
Web 服务器 > web_server_definition > 远程 Web 服务器管理。设置下列值:管理端口 = 8008,用户标识 = adminUser,密码 = adminPassword。
- 设置对 httpd.conf 文件和 plugin-cfg.xml 文件的正确读/写许可权。请参阅 IHS_root /logs/admin_ERROR.LOG 文件以获取更多信息。
要自动传播插件配置文件,将要求 IBM HTTP 管理服务器已启动并且正在运行。如果使用 WebSphere
Application Server 管理控制台来管理 IBM HTTP Server,那么可能会显示以下错误:
"Could not connect to IHS Administration server error"
执行以下过程来更改该错误:
- 验证 IBM HTTP Server 管理服务器是否正在运行。
- 验证在 WebSphere Application Server 管理控制台中定义的 Web 服务器主机名和端口是否与
IBM HTTP Server 管理主机名和端口相匹配。
- 验证防火墙是否不妨碍您从 WebSphere Application
Server 管理控制台访问 IBM HTTP Server 管理服务器。
- 验证是否在 admin.passwd 文件中使用 htpasswd 命令创建了 WebSphere Application Server 管理控制台中指定的受远程管理的用户标识和密码。
- 如果尝试安全连接,那么验证您是否将 IBM
HTTP Server 管理服务器密钥数据库个人证书作为签署者证书导出到 WebSphere Application Server 密钥数据库中。
此密钥数据库是由正在运行管理控制台的概要文件中的 sas.client.props 文件中的 com.ibm.ssl.trustStore 伪指令指定的。主要是自签名证书应考虑此方面。
- 如果仍然存在问题,请检查 IBM HTTP Server admin_ERROR.LOG 文件和 WebSphere Application Server 日志(trace.log 文件)以确定问题原因。
结果
此过程在 Web 服务器机器上安装了 WebSphere Application Server 的 Web 服务器插件。Web 服务器插件配置工具还对 Web 服务器进行了配置,以支持另一台机器上的应用程序服务器。
Web 服务器插件的安装导致创建了
Plugins 目录和多个子目录。例如,下面就是 Linux 系统上创建的那些目录中的某些目录:
- plugins_root/bin/32bits 或 plugins_root/bin/64bits 包含所有受支持的 Web 服务器的二进制插件
- plugins_root/logs 包含日志文件
- plugins_root/properties 包含版本信息
下一步做什么
有关安装过程的概述,请参阅选择 Web 服务器拓扑图和路线图。
有关配置 Web 服务器时所涉及文件的更多信息,请参阅 Web 服务器配置。
请参阅插件配置,以获取有关插件配置文件的位置的信息。
有关 Web 服务器插件配置工具如何配置受支持 Web 服务器的信息,请参阅编辑 Web 服务器配置文件。