三层体系结构
为了访问远程数据源,3层体系结构使用称为应用服务器的中间件。应用服务器可以在 web 服务器所在的系统上运行,也可以在另一个系统上运行。web 服务器作为 web 客户机与应用服务器之间的中介,而应用服务器作为应用程序逻辑和远程数据之间的中介。
与 2 层体系结构相比,3 层体系结构有几个优点:
●因为 web 应用程序访问的数据存储在其他系统上,所以可以提高大通信量 web 服务器的性能。数据库(或其他数据源)服务器并不在 web 或应用服务器所在的系统上运行,这会减轻系统的负载。同样,远程数据库、内容管理系统 (cms) 和其他数据源的备份等管理任务不会影响 web 或应用服务器的性能。
●可伸缩性更高,能够更好地管理服务器和数据源。很容易复制 web 和应用服务器,从而实现负载平衡。3 层体系结构可以在多个 web 和应用服务器之间实现自动的故障转移,这会提高 web 应用程序的可用性。可以智能化地管理到远程数据源的连接。
●提高远程数据的安全性,因为远程数据并不存储在 web 服务器(通常还有应用服务器)所在的系统上。web 服务器被入侵并不会直接泄露数据。
我们在本文档会使用ibm的软件来搭建三层体系结构:ibm http server(ihs) ,websphere application server,以及db2。
ihs解释
ibm http server 是一个具有商业支持的 web 服务器,它基于流行的开放源码的 apache web 服务器,是 ibm websphere application server 的核心组件。
环境
ihs 6.1
操作系统:windowsserver2003
ip:182.100.100.60
websphere 6.1.0.27
操作系统:aix 6.1
ip:182.100.100.50
目的
我们先在websphere上搭建了系统,访问地址为:
http://182.100.100.50:9080/aaa
我们要搭建ihs,来转发客户端的访问到websphere,完成后访问地址变为:
http://182.100.100.60/aaa
安装ihs
ihs是免费的,可以在ibm官网下载对应操作系统的版本。我们使用下载的是ihs.6100.windows.ia32.zip。
除了下载ihs,还要下载连接ihs与websphere的插件, 我们使用下载的是trial_plugins_windows.ia32.zip。
解压ihs压缩包后,进入ihs文件夹,双击install.exe安装。一直默认下一步,选择安装路径:
选择运行ihs服务器和ihs管理服务器的端口,如果默认的80和8008被其他程序占用了,请修改端口,这里我们修改管理端口为8088:
使用windows来管理两个服务,可以指定账户登录,也可以用本地账户登录,最好使用权限最高的用户来登录启动服务:
这里注意了,要填写ihs管理服务器的用户密码,并且记住,之后会在websphere配置中用到:
一直下一步,直到安装结束:
下面我们继续安装插件,解压plugins包后,进入plugin文件夹,双击install.exe安装,一直默认下一步,选择安装的web服务器:
这里有远程和本地的选择,ihs和websphere在一台机器,则选择本地,本文档使用的环境是不同的机器,所以选择第一个选项:
选择安装插件的目录,一般和ihs的目录安装在一起:
选择httppd.conf文件,这个文件记录了ihs和websphere连接所使用的dll路径以及插件路径:
选择plugin-cfg.xml文件,这个文件记录会在连接到websphere后手工更新,需要记住这个目录:
这里需要填写websphere的ip,如果是nd版本,这里录入的是集群服务器的ip:
之后一直下一步直到安装结束。
在websphere配置ihs
我们使用的websphere不是nd版本,所以我们使用手工传播插件的方法,来使得ihs能够直到websphere的应用服务器,端口等信息。这里需要注意,在创建websphere的时候,默认的节点名称是localhost,但是我们在搭建ihs或者集群的时候,不要用localhost来命名节点,最好用主机名或者ip,不然需要手工修改插件文件。传播插件的方法很简单,找到websphere的插件文件,一般aix下的目录是:
/usr/websphere/appserver/profiles/appsrv01/config/cells/ plugin-cfg.xml
复制到ihs的目录:
\\182.100.100.60\c$\program files\ibm\httpserver\plugins1\config\webserver1下,如果节点名是localhost了,就要修改文件,把localhost都修改为ip(182.100.100.50)。
ihs6.1的管理服务器没有图形化管理,不过可以使用websphere的管理控制台来控制ihs,需要在控制台中配置:
新建一个web服务器,选择服务器类型,服务器ip,操作系统:
选择ihs端口,安装目录,插件目录,ihs管理服务器的属性(还记得我改了端口8088),下一步完成:
完成后,可以在websphere的管理控制台来远程启动,停止ihs。如果是nd版本,可以在这里生成和传播插件。
到这里,ihs就算基本安装配置完成了,可以通过http://182.100.100.60/aaa来访问系统了。如果一个websphere服务器有多个应用,也可以通过不同的上下文根来访问,端口都是用的ihs的80来转发了。
注意
下面总结下配置ihs中容易遇到的问题:
1. 检查下有没有插件,有的websphere没有安装插件,需要单独安装,在目录plugins1\bin下有没有mod_was_ap20_http.dll。
2. 检查websphere的节点名,如果是localhost,则需要修改plugin-cfg.xml中的hostname为websphere的ip。
3. 网上资料说的有一个步骤是,在应用程序->管理模块,同时选择应用服务器和ihs服务器,这里我们系统不用,因为我们没有分离出html发布到ihs服务器上,ihs在这里只是转发的功能,不要把应用发布到ihs上。
4. 每当更改或新增应用服务器,集群,web容器传输或虚拟主机别名配置时,要在管理控制台->环境->更新全局web服务器插件配置中,重新生成插件文件,然后传播到ihs上。
5. 更新插件后需要重启ihs。配置过程中不用重启websphere。
为了访问远程数据源,3层体系结构使用称为应用服务器的中间件。应用服务器可以在 web 服务器所在的系统上运行,也可以在另一个系统上运行。web 服务器作为 web 客户机与应用服务器之间的中介,而应用服务器作为应用程序逻辑和远程数据之间的中介。
与 2 层体系结构相比,3 层体系结构有几个优点:
●因为 web 应用程序访问的数据存储在其他系统上,所以可以提高大通信量 web 服务器的性能。数据库(或其他数据源)服务器并不在 web 或应用服务器所在的系统上运行,这会减轻系统的负载。同样,远程数据库、内容管理系统 (cms) 和其他数据源的备份等管理任务不会影响 web 或应用服务器的性能。
●可伸缩性更高,能够更好地管理服务器和数据源。很容易复制 web 和应用服务器,从而实现负载平衡。3 层体系结构可以在多个 web 和应用服务器之间实现自动的故障转移,这会提高 web 应用程序的可用性。可以智能化地管理到远程数据源的连接。
●提高远程数据的安全性,因为远程数据并不存储在 web 服务器(通常还有应用服务器)所在的系统上。web 服务器被入侵并不会直接泄露数据。
我们在本文档会使用ibm的软件来搭建三层体系结构:ibm http server(ihs) ,websphere application server,以及db2。
ihs解释
ibm http server 是一个具有商业支持的 web 服务器,它基于流行的开放源码的 apache web 服务器,是 ibm websphere application server 的核心组件。
环境
ihs 6.1
操作系统:windowsserver2003
ip:182.100.100.60
websphere 6.1.0.27
操作系统:aix 6.1
ip:182.100.100.50
目的
我们先在websphere上搭建了系统,访问地址为:
http://182.100.100.50:9080/aaa
我们要搭建ihs,来转发客户端的访问到websphere,完成后访问地址变为:
http://182.100.100.60/aaa
安装ihs
ihs是免费的,可以在ibm官网下载对应操作系统的版本。我们使用下载的是ihs.6100.windows.ia32.zip。
除了下载ihs,还要下载连接ihs与websphere的插件, 我们使用下载的是trial_plugins_windows.ia32.zip。
解压ihs压缩包后,进入ihs文件夹,双击install.exe安装。一直默认下一步,选择安装路径:
选择运行ihs服务器和ihs管理服务器的端口,如果默认的80和8008被其他程序占用了,请修改端口,这里我们修改管理端口为8088:
使用windows来管理两个服务,可以指定账户登录,也可以用本地账户登录,最好使用权限最高的用户来登录启动服务:
这里注意了,要填写ihs管理服务器的用户密码,并且记住,之后会在websphere配置中用到:
一直下一步,直到安装结束:
下面我们继续安装插件,解压plugins包后,进入plugin文件夹,双击install.exe安装,一直默认下一步,选择安装的web服务器:
这里有远程和本地的选择,ihs和websphere在一台机器,则选择本地,本文档使用的环境是不同的机器,所以选择第一个选项:
选择安装插件的目录,一般和ihs的目录安装在一起:
选择httppd.conf文件,这个文件记录了ihs和websphere连接所使用的dll路径以及插件路径:
选择plugin-cfg.xml文件,这个文件记录会在连接到websphere后手工更新,需要记住这个目录:
这里需要填写websphere的ip,如果是nd版本,这里录入的是集群服务器的ip:
之后一直下一步直到安装结束。
在websphere配置ihs
我们使用的websphere不是nd版本,所以我们使用手工传播插件的方法,来使得ihs能够直到websphere的应用服务器,端口等信息。这里需要注意,在创建websphere的时候,默认的节点名称是localhost,但是我们在搭建ihs或者集群的时候,不要用localhost来命名节点,最好用主机名或者ip,不然需要手工修改插件文件。传播插件的方法很简单,找到websphere的插件文件,一般aix下的目录是:
/usr/websphere/appserver/profiles/appsrv01/config/cells/ plugin-cfg.xml
复制到ihs的目录:
\\182.100.100.60\c$\program files\ibm\httpserver\plugins1\config\webserver1下,如果节点名是localhost了,就要修改文件,把localhost都修改为ip(182.100.100.50)。
ihs6.1的管理服务器没有图形化管理,不过可以使用websphere的管理控制台来控制ihs,需要在控制台中配置:
新建一个web服务器,选择服务器类型,服务器ip,操作系统:
选择ihs端口,安装目录,插件目录,ihs管理服务器的属性(还记得我改了端口8088),下一步完成:
完成后,可以在websphere的管理控制台来远程启动,停止ihs。如果是nd版本,可以在这里生成和传播插件。
到这里,ihs就算基本安装配置完成了,可以通过http://182.100.100.60/aaa来访问系统了。如果一个websphere服务器有多个应用,也可以通过不同的上下文根来访问,端口都是用的ihs的80来转发了。
注意
下面总结下配置ihs中容易遇到的问题:
1. 检查下有没有插件,有的websphere没有安装插件,需要单独安装,在目录plugins1\bin下有没有mod_was_ap20_http.dll。
2. 检查websphere的节点名,如果是localhost,则需要修改plugin-cfg.xml中的hostname为websphere的ip。
3. 网上资料说的有一个步骤是,在应用程序->管理模块,同时选择应用服务器和ihs服务器,这里我们系统不用,因为我们没有分离出html发布到ihs服务器上,ihs在这里只是转发的功能,不要把应用发布到ihs上。
4. 每当更改或新增应用服务器,集群,web容器传输或虚拟主机别名配置时,要在管理控制台->环境->更新全局web服务器插件配置中,重新生成插件文件,然后传播到ihs上。
5. 更新插件后需要重启ihs。配置过程中不用重启websphere。