现在的位置: 首页 > 综合 > 正文

IHS+WEBSPHERE 静态页面分离方案

2013年08月14日 ⁄ 综合 ⁄ 共 2265字 ⁄ 字号 评论关闭

IHS+WEBSPHERE 静态页面分离方案

 

前提:WebsphereIHS 都已经配置好了,同时HIS只是起到一个转发的功能,Websphere默认是使用File Serving servlet 进行静态文件的处理,这样的话,压力都集中在了Websphere上面。具体的原理可以参照下面的网址,说得很详细

http://www.ibm.com/developerworks/cn/websphere/techjournal/0211_brown/brown.html

 

目标:把Webpshere应用中的静态的内容分离开了,部署在IHS上面,如果是访问静态文件,直接通过HIS处理返回内容,如果是动态的则交给Websphere处理。

 

第一步:关闭Websphere File Serving servlet 服务

(1)       找到在Websphere中部署的Web应用中的 /WEB-INF/ 目录下面的 ibm-web-ext.xmi 文件

 如下图所示:



(2)       如果在(1)中没有找到 ibm-web-ext.xmi 文件,则把附件中的 ibm-web-ext.xmi 文件拷贝到这个目录就可以。一般用ANT工具打的war包都没有这个文件,必须手工的添加上去。

ibm-web-ext.xmi 文件主要是用来配置应用的一些附加属性,可以手工的修改)

 

(3)       打开 ibm-web-ext.xmi 文件,找到 fileServingEnabled 属性项,把它设为 flase, 默认是ture。如下图所示

(4)       重启Websphere

(5)       重启完后,如果是访问Web应用中的静态文件,是会报404错误的,这是正常现象,因为Websphere中的 File Serving servle 服务功能已经关闭了。

 

 

第二步:重新生成插件

1Websphere的插件配置文件 plugin-cfg.xml 在类似这样的路径下面/IBM/WebSphere/AppServer/profiles/default/config/cells/szkingdo-zhaozmNode01Cell/nodes/webserver1_node/servers/webserver1/

 

在没有生成插件之前,plugin-cfg.xml 文件中有如下代码

<UriGroup Name="default_host_server1_szkingdo-zhaozmNode01_Cluster_URIs">

      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/*"/>   </UriGroup>

 

2 登陆Websphere控制台,如下图页面

点击生成插件按钮,重新生成插件,更新 plugin-cfg.xml 文件

 

3plugin_cfg.xml 文件中(1)中的代码发生了变化,如下

<UriGroup Name="default_host_server1_szkingdo-zhaozmNode01_Cluster_URIs">

      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/*.do"/>

      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsp"/>

      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsv"/>

      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsw"/>

      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/j_security_check"/>

      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ibm_security_logout"/>

      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/servlet/*"/>

   </UriGroup>

 

 

第三步:配置HIS中的 httpd.conf 文件

 

(1)       设置HIS的默认路径,打开 /IBM HTTP Server/conf/ 类似这样的目录下面的 http.conf文件,找到如下的两句

DocumentRoot "D:/Program Files/IBM HTTP Server/htdocs/zh_CN"

<Directory "D:/Program Files/IBM HTTP Server/htdocs/zh_CN">

可以把 D:/Program Files/IBM HTTP Server/htdocs/zh_CN 设置为新的目录

 

 

第四步:把应用中的静态文件拷到 HIS上的默认路径中去

如下图中的 admin,file,web 文件夹下的静态文件都是从websphere应用中拷贝过来的

 

 

 

 

抱歉!评论已关闭.