Apache2+WasCE(社区版was)配置实践

好几年没有摸Webshpere了,现因工作需要开始重新学习

安装DB2 v7.2,WebshpereApplicationServer4.0,Webshpere Studio4.0。安装完成后,发现IBM HTTP Server没有安装成功,于是上网查找解决办法。

不查不知道,一查吓一跳:DB2版本已经到了9,WAS的版本也升到6.1!顺便看到开源的社区版Was,看过一些介绍文章之后,立即下载安装试用。另外,IBM传统的WAS+IBM HTTP Server的方式吸引我去做另外一件事,那就是配置WASCe+Apache HTTP Server。

这样配置的原因是:WebSphereApplicationServer Community Edition( 简称 WASCE) 是一个EJB容器,它本身具有容纳EJB,Servlets,JSP,HTML等功能,也就是说,WASCE它本身同时具备EJB容器和WebServer的功能。  我们单纯的 WebServer 如   IIS,Apache,IBM   HTTP   Server( 通常简称IHS)   ,它们只具有处理静态 HTML 页面的功能,不具有EJB容器的功能。  WAS 在处理静态的 HTML 页面及一些图片文件时,它是通过   Java   输入和输出流来进行和客户端通信的。而Apache 是用C 语言来处理用户的对静态文件的请求。相比之下,Apache处理静态文件的速度要快一些。同时,如果我们能够让二者连接起来成为一个整体,对客户端用户来说是透明的,让WASCE 做EJB容器处理动态请求,让Apache处理静态文件,有以下好处: (1)Apache能够以更快的速度处理静态请求,在许多商务应用中,对于 html 页面的请求和对于JSP/Server的请求及对于后台EJB的请求数量是递减的。在这种情况下,可以让Apache分担 WAS 的负担。(2) 可以把Apache和 WAS分别装在不同的物理主机上,这样可以让Apache 处于DMZ 区域,而让WAS 处于受保护区域,提高安全性。

说做就做,我首先在网上搜索查看了多篇相关文章,多数都是配置Apache+Tomcat的介绍,只有一篇介绍Apache+WASCE配置集群的文章。

总结前人经验:配置过程大致分4个步骤(1)下载,安装mod_jk.so文件;(2)修改Apache配置文件httpd.conf;(3)新建文件workers.properties文件;(4)重启Apache服务。

我使用的操作系统是Windows XP Home版,JDK1.5.0_04,Apache HTTP Server2.0.54占用80端口,WASCE v1.1占用8080、8443、8009等端口。

具体步骤如下:从Archive.apache.com下载mod_jk-1.2.13-Apache-2.0.53.so文件,改名为mod_jk.so并放入Apache2安装目录下的modules文件夹中;然后用写字板打开conf文件夹下httpd.conf文件,在loadModules节的末尾添加如下语句:LoadModule jk_module modules/mod_jk.so
#----------------------------------------------------------------------
   JkWorkersFile  "conf/workers.properties"
   JkLogFile       "logs/mod_jk.log"
   JkLogLevel       info
   JkLogStampFormat   "[%a %b %d %H:%M:%S %Y] "
   JkOptions       +ForwardKeySize +ForwardURICompat -ForwardDirectories
   JkRequestLogFormat "%w %V %T"
 # forward ALL web requests to our mod_jk loadbalancer workers
   JkMount /*.jsp wasce
   JkMount /*.do wasce
   JkMount /servlet/* wasce
保存修改,这样使得Apache在启动时自动加载Mod_jk.so,并使用配置文件workers.properties,日志记录在mod_jk.log中,把对.jsp,.do以及对servlet的所有请求交由Mod_jk去处理;然后,在conf目录中新建worker.properties文件,录入如下内容:ps=/
worker.list=wasce
# Define wasce node...
worker.wasce.port=8009
worker.wasce.host=localhost
worker.wasce.type=ajp13
worker.wasce.socket_keepalive=true
 第一行表明使用“/”作为分隔符,第二行定义一个名为wasce的Worker,接下来把worker的属性设定清楚;     最后就是重新启动Apache服务。然后,通过http://localhost/访问,见到wasce的欢迎页面,成功!

后记:(1)失败的教训:最开始我下载了几乎最新的mod_jk-1.2.23-apache-2.0.59.so(1.2.25版本还没有公布,1.2.24版本被召回),文件配置同上,重启Apache报错,通过查看应用程序事件知道“不能够加载mod_jk.so”,捣鼓好一阵子都没有效果。因为最开始并没有在意Apache2.0.59和apache2.0.54的差别,这时候才想到应该换低版本的mod_jk.so试验,果然是问题所在!——要看说明文档,version2.0.XX or later相关词汇一定不要放过!

(2)仍未解决的问题:Apache http.conf中DirectoryIndex应经修改为启用index.jsp,但是wasce-samples中的hello应用不能直接通过http://localhost/hello/访问,而http://localhost:8080/hello/是可以的?有文章介绍在httpd.conf文件中增加别名hello,并启用index.jsp作为默认文件,可以解决该问题——目前我还没有实验,抱歉!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值