camyd
作者camyd·2013-08-07 15:39
数据库管理员·中储粮

集成Websphere Application Server 5.0与IIS 5.0

字数 4313阅读 2254评论 0赞 1
简介: IIS(Microsoft Internet Information Server)是目前使用比较广泛的Web Server, 有些情况下,我们需要采用它而不是WAS自带的IBM Http Server 作为Web Server。这时,我们需要做一些配置工作来使WAS和IIS 可以协同工作。
IIS(Microsoft Internet Information Server)是目前使用比较广泛的Web Server, 有些情况下,我们需要采用它而不是WAS自带的IBM Http Server 作为Web Server。这时,我们需要做一些配置工作来使WAS和IIS 可以协同工作。 由于大部分资料上讲述的都是IBM HTTP Server 与WAS的集成,作者希望结合最近集成的经验,一步步演示怎样配置分别分布在两台服务器上的IIS和WAS,希望对大家有所帮助。

1. 系统环境

本文中采用的系统环境如下:

  操作系统 已安装软件
Web Server Win2000 Server(SP3) IIS 5.0
Application Server Win2000 Server(SP3) WebSphere 5.0.1

为了节省篇幅,以及突出重点,我们省略了IIS和WebSphere 的安装过程。这两个产品的安装都可以按照默认安装即可。

2. 建立测试站点

为了最后测试我们的安装,首先我们在IIS上建立测试站点Test,并配置端口80供其使用。

3. 安装WebSphere Web Server Plug-in for IIS

要使客户端HTTP请求可以通过IIS被传送到WAS, 首先我们需要在Web Server的机器上安装WebSphere Web Server Plug-in for IIS. 这里要指出的是,最好像本文所示,先安装好IIS,建立站点,然后再安装此插件,否则需要额外手工做一些配置工作,此举意义不大,在此本文不做过多解释。

  • 使用WAS安装盘,依据提示,进行到自定义安装。(此处省去选择语言,接受许可协议等安装步骤。)
  • 在产品列表里只选中Web server plug-in 下的IIS项,如图:
  • 根据提示,完成安装。

这时,我们打开IIS的管理界面,可以看到有两个虚拟目录自动建立在了我们的测试站点Test下。它们是:

  • IBMWebAs - 映射到WAS安装目录的web目录下 

    sePlugins -映射到WAS安装目录的bin目录下

好,安装WebSphere Web Server Plug-in for IIS 的工作到此完成。

4. 配置WAS,并生成Web 服务器插件配置

为了使WAS可以正确处理IIS传送过来的HTTP请求,我们需要配置WAS的虚拟主机属性。

  • 登陆WAS 管理控制台,在左侧的功能菜单中,选择/环境/虚拟主机
  • 在右侧的列表中,选择准备处理IIS传送请求的虚拟主机名称。在此例中我们选default_host.
  • 在进入的页面里,点击[其它属性]里的[主机别名],新增一条:主机名为192.168.0.1(Web Server 的IP 地址、带有域名后缀的 DNS 主机名或仅 DNS 主机名)。端口80。
  • 保存配置。
  • 重新启动WAS服务器。
  • 启动后,登陆WAS 管理控制台,在左侧的功能菜单中,选择/环境/更新Web服务器插件。
  • 点击确定按钮,更新Web 服务器插件配置。

5. 拷贝 Web 服务器插件配置文件到Web Server.

在上一步里,我们生成了Web 服务器插件配置文件, 它的存储位置在WAS的安装目录下的/config/cells/下,名为plugin-cfg.xml 。

我们需要把它拷贝到Web Server的相同目录下,同样的目录结构在安装WebSphere Web Server Plug-in for IIS 时已经建立好了。

到此,所有配置工作已经完成。如果顺利,你已经可以通过IIS访问WAS上的应用。

6. Web 服务器插件配置文件分析

虽然,顺利的情况下我们可能不用分析Web 服务器插件配置文件,但是由于环境的不同,以及需求的变化,比如请求转发的映射等等,我们很多时候需要手工编辑Web 服务器插件配置文件,详细的元素属性说明可参见 参考资料:WAS 5 InfoCenter这里我们结合本例的plugin-cfg.xml,对几个关键元素和属性,作简要说明。

<?xml version="1.0" encoding="GB2312"?> <Config> <Log LogLevel="Error" Name="C:Program FilesWebSphereAppServerlogshttp_plugin.log"/> <VirtualHostGroup Name="default_host"> <VirtualHost Name="*:9080"/> <VirtualHost Name="192.168.0.1:80"/> </VirtualHostGroup> <ServerCluster Name="server1_sbjapp01_Cluster"> <Server Name="server1"> <Transport Hostname="192.168.0.2" Port="9080" Protocol="http"/> </Server> <PrimaryServers> <Server Name="server1"/> </PrimaryServers> </ServerCluster> <UriGroup Name="default_host_server1_sbjapp01_Cluster_URIs"> <Uri AffinityCookie="JSESSIONID" Name="/*"/> </UriGroup> <Route ServerCluster="server1_sbjapp01_Cluster" UriGroup="default_host_server1_sbjapp01_Cluster_URIs" VirtualHostGroup="default_host"/> </Config>

在这个文件里,为了更加清晰,我们删掉了WAS默认安装的一些应用,包括admin console相关的部分。由于部署的应用不同,以及虚拟主机等的配置不同,你得到的配置文件可能和这个不同,没有关系。

  • Log: 这里定义了log文件的位置,以及log信息记录的等级。等级包括三种: Trace, Warn, Error
  • VirtualHostGroup: 这里定义一组特定HTTP主机头的虚拟主机名为一个虚拟主机组。可以方便你配置处理相似请求的多个虚拟主机。我们添加的标示IIS请求信息的虚拟主机条目就在这里。
  • ServerCluster:配置处理相同类型请求的一组服务器,这里我们只有一台,也就是安装了WAS的服务器。
  • UriGroup:定义特定HTTP请求的一组URI。我们这里为了简单说明,定义所有请求"/*"为一组,在实际运行环境中,你可能需要将比如*.htm,*.jsp,*.do,/webapp/*等等作不同处理。
  • Route: 定义属于上面某UriGroup的请求具体交由哪个ServerCluster处理。

7. Trouble Shooting

如果通过以上配置,发现IIS和WAS仍然不能正常工作,请查看plugin-cfg.xml中配置的log文件位置。如此例中为:C:Program FilesWebSphereAppServerlogshttp_plugin.log 
正常的情况下,插件装载后应有如下信息:

[Wed Aug 13 08:55:16 2003] 00000314 00000474 - PLUGIN: Plugins loaded. [Wed Aug 13 08:55:16 2003] 00000314 00000474 - PLUGIN: --------------------System Information----------------------- [Wed Aug 13 08:55:16 2003] 00000314 00000474 - PLUGIN: Bld date: Nov 11 2002, 18:23:32 [Wed Aug 13 08:55:16 2003] 00000314 00000474 - PLUGIN: Webserver: IIS [Wed Aug 13 08:55:16 2003] 00000314 00000474 - PLUGIN: Hostname = SCOTTLEE [Wed Aug 13 08:55:16 2003] 00000314 00000474 - PLUGIN: OS version 5.0, build 2195, 'Service Pack 3'

如果插件装载不成功,会有错误提示信息,比如: 
ERROR: ws_common: websphereGetStream: Failed to connect to app server on host '192.168.0.1', OS err=10061 
这有可能是192.168.0.1的WAS没有正常启动。

另外有可能会发现http_plugin.log没有任何信息,这是有可能你的Web Server插件没有安装正确,或者是plugin-cfg.xml的内容有问题。有一个处理办法是在装有IIS的相同机器上先安装一个相同配置的WAS, 配置转发没有问题后,手工将plugin-cfg.xml中ServerCluster中的相应Transport Hostname改为远程的WAS的主机名或IP。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广