配置IBMHTTPServerWebSphereApplicationServer连接优化应用服务

在本文中,你可以学习到:

•  使用 IBM HTTP Server 的好处有哪些

•  如何配置 IBM HTTP ServerIBM WebSphere Application Server连接

•  如何发布 ear包使之能优化IBM WebSphere Application Server性能

•  一个示例
前言

大家都知道, IBM WebSphereApplicationServer( 简称 WAS) 是一个企业的级 EJB 容器,它本身具有容纳 EJB Servlets JSP HTML 等功能,也就是说, WAS 它本身同
时具备 EJB 容器和 WebServer 的功能。

我们单纯的 WebServer IIS,Apache,IBM HTTP Server( 简称 IHS) ,它们只具有处理静态 HTML 页面的功能,不具有 EJB 容器的功能。

我们通常在安装 IBM WebSphere 包时,可以选择安装 WAS IHS 两个部分。它们可以安装在同一个物理主机上,也可以分开安装在不同的主机上。

WAS 在处理静态的 HTML 页面及一些图片文件时,它是通过 Java 输入和输出流来进行和客户端通信的。而 IHS 是在 Apache 的基础上修改而来的,它是用 C 语言来处理用户的对静态文件的请求。相比之下, IHS 处理静态文件的速度要快一些。同时,如果我们能够让二则连接起来成为一个整体,对客户端用户来说是透明的,让 WAS EJB 容器处理动态请求,让 IHS 处理静态文件,有以下好处:

•  IHS 能够以更快的速度处理静态请求,在许多商务应用中,对于 html 页面的请求和对于
JSP/Server 的请求及对于后台 EJB 的请求数量是递减的。在这种情况下,可以让 IHS 分担 WAS 的负担。

•  可以把 IHS WAS 分别装在不同的物理主机上,这样可以让 IHS 处于 DMZ 区域,而让 WAS 处于受保护区域,提高安全性。具体这一部分,可以参考其它网络拓朴资料。

•  当企业应用增大时,我们需要利用集技术来达到负载均衡,这时候,可能需要多个 WAS 节点并通过 ND NetworkDeploymentManager )来管理它们。这时必须要有一个 IHS 在前面提供这种分发功能。也就是说,利用 IHS 可以为以后扩展做更好的准备。

具体来说, IHS WAS 的连接是通过一个叫 WebServerPlug-in 的来连接它们的。它们的拓朴结构图可以如下所示:

上图的清晰足以不再说明。
前提条件

要想让 IHS WAS 连接起来,我们必须在安装 WEBSphere 包时,选择自定义安装,并选中 Plug-in For IBM HTTP Server ”。同时,我们需要安装 IHS WAS 。在本文中,我们以 IHS WAS 装在同一台主机上为例说明。

设: WAS 安装在 D:\WebSphere511\WebSphere\AppServer 下面。

IHS 安装在 D:\WebSphere511\IBMHttpServer 下面。

其次,我们需一个还没有打包的 WSAD 工作区,我们在最后打包时,要进行一些设置以满足要求。注意,这个工作区必须是最后马上要打包发布的工作区。

在开始之前,我们先启动 IHS WAS ,在 IE 中输入:

localhost:9080/snoop/ 看是否正确安装

好了,一切好了,我们来看如何配置。
配置步骤

WSAD5 启动最后需打包的工作区,进入开发环境的 J2EE 视图,双击打开 WEB Cont
ent 目录下的 WEB-INF ”目录下的 l 文件,进入 XML 编辑器,选中扩展页面,如下图所示:

在上图中,将启用了文件服务前的 去掉。保存。
webserver接口开发
2 、打包工作区,将系统输出为 ear 包或输出为 jar 包和 war 包两部分均可以。

3 、进入 WAS 管理工作台,配置 J2C 认证和 JDBC 数据源,成功发布刚才导出的 ear 包。

4 、选择 WAS 管理工作台左边的环境 -> 更新 Web 服务器插件 ”,并在右边选择确定

5 、然后退出 WAS 管理工作台,进入 WAS 安装目录:

D:\WebSphere511\WebSphere\AppServer\config\cells ,确认目录下的 l 是新生成的。

6 、进入 IHS 安装目录: D:\WebSphere511\IBMHttpServer\conf ,并用文本编辑器打开其下的

f 文件,将光标移动到最后一行,确认最后两行为:

LoadModule ibm_app_server_http_module D:\WebSphere511\WebSphere\AppServer/bin/mod_ibm_app_server_http.dll"

WebSpherePluginConfig "D:\WebSphere511\WebSphere\AppServer/config/l"

即需确认这两个文件指向正确的位置且, l 指向的是刚刚生成的。


同时到类似下面的两行:

# TIHS should be changed to whatever you set DocumentRoot to.

<Directory "D:\WebSphere511\IBMHttpServer/htdocs/Zh_CN">

可以看出,这一行是设置 IHS 的根目录所在的位置。你可以修改它也可以不修改。比如我们这里把它修改为:

<Directory D:\WebSphere511\IBMHttpServer/htdocs/MyProject>

注意上面的路径分隔符的写法,同时,请在 D:\WebSphere511\IBMHttpServer\htdocs\ 下建一个目录 MyProject

同时到 DocumentRoot 这一行,把它修改为:

DocumentRoot d:/websphere511/ibmhttpserver/htdocs/MyProject

这样使得 IHS 的根目录指向这个目录。

7 、生新启动 IHS WAS

8 、进入 WAS 安装目录下的:

D:\WebSphere511\WebSphere\AppServer\installedApps\abnerchai 目录,其中 abnerchai 是以你的主机的名字命名的目录,到该目录下刚才发布的那个 ear 包目录,并进入该目录下的 x.war 的这个目录中,在这个目录是存放的是你的所有有 HTML 文件和 JSP 及其它的 IMG 文件等,这个目录也是根目录,把这个目录下的所有的静态文件如 images 目录等拷贝一份到刚才 IHS 的根目录下。


9 、重启 IHS 服务器即可以 :

/yourApplicationname/ 来访问你的系统了。

附录:举例:

现在 WSAD WEB Content 目录下有一个 JSP 文件如下所示:

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >

< HTML >

< HEAD >

<%@ page language = "java" contentType = "text/html; charset=GBK" pageEncoding = "GBK" %>

< META http-equiv = "Content-Type" content = "text/html; charset=GBK" >

< META name = "GENERATOR" content = "IBM WebSphere Studio" >

< TITLE > index.jsp </ TITLE >

</ HEAD >

< BODY >

< p >< img src = "images/cz.jpg" ></ img >

< p >< a href = "in.html" > 静态 HTML </ a >

<%

out.println( "<p>这是动态输出!</p>" );

%>

</ BODY >

</ HTML >

同时,在 WEB Content 目录下有一个 in.html 文件和一个 images 目录,其下有一个 cz.jpg 文件。

同时在工作区中还有一些 JavaBean EJB  ,用上述方式发布 EAR 包后,名字为:

HelloWorldEARProject.ear

WAS 中发布并更新插件后,重启 IHS WAS 。在:

D:\WebSphere511\WebSphere\AppServer\installedApps\abnerchai\HelloWorldEARProject.ear

目录下,有一个 HelloWorldWebProject.war 目录,其下含有 images 目录和 in.html 文件,我们可以通过 localhost/HelloWorldWebProject/index.jsp 访问它 ( 这时看不到图片和静态连接不正确,因为 WAS 己设置成不处理这些静态文件 )

这时我们可以这么做,在:

D:\WebSphere511\IBMHttpServer\htdocs\MyProject 目录下新建一个 HelloWorldWebProj
ect 目录,把 images 目录和 in.html 拷贝到该目录下即可。

最后,它们的目录结构如下所示:

这是 IBM HTTP Server 的目录

这是 IBM Websphere Application Server 的目录 ( 发布后 )

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。