style="WIDTH: 345px; HEIGHT: 285px" align="left" marginwidth="0" marginheight="0" src="http://www.ymfund.com/web/ad.html" frameborder="0" width="468" scrolling="no" height="60">
IHS+WEBSPHERE 靜態頁面分離方案
前提:Websphere和IHS 都已經配置好了,同時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 服務功能已經關閉了。
第二步:重新生成插件
(1)Websphere的插件配置文件 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 文件
(3)plugin_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應用中拷貝過來的