集成Websphere Application Server 5.0与IIS 5.0

本文来自: http://hi.baidu.com/ttaini1000/item/e6be810fcfe61711acdc7002

集成Websphere Application Server 5.0与IIS 5.0 (闫利文收藏)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 ServerWin2000 Server(SP3)IIS 5.0Application ServerWin2000 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 Files\WebSphere\AppServer\logs\http_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 Files\WebSphere\AppServer\logs\http_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

猜你喜欢

转载自haroldxie.iteye.com/blog/1728212