在做大型商务网站时,考虑到为了分担系统负担以及提高系统安全等原因,需要将WebLogic的HTTP Server分离,而使用Apache HTTP Server;这需要安装Apache-WebLogic插件来实现。当客户端请求静态页面时,使用Apache Server,而当客户端请求动态页面时,Apache Server通过插件来使用WebLogic Server;对于客户端来说,WebLogic Server是不可见的,但是却能通过插件来使用WebLogic Server的所有服务。
配置环境:
Linux Weblogic 8.15 Apache 2.0.X(Weblgoic 8不支持Apache 2.2.x的版本)
一. Weblogic的安装并建立domain
安装上之后,先建议一个domain,然后部署一个web应用程序。我的weblogic的第一个domain是mydomain,然后端口号是7001,部署了一个叫做msyy的war.可以通过http://localhost:7001/msyy访问,显示用户登录页面。
例:用户名:chen 密码: chen123 测试是否成功
二. Apache的安装 下载Apache 2.0.59版本(httpd-2.0.59.tar.gz)
下载完毕后,将httpd-2.0.59.tar.gz上传到Linux服务器上,开始安装apache
[root@vmware4 root]# tar -zxvf httpd-2.0.59.tar.gz
[root@vmware4 root]# cd httpd-2.0.59
[root@vmware4 root]#./configure --prefix=/usr/local/apache --enable-module=so
--enable-rule=SHARED_CORE
[root@vmware4 root]#make
[root@vmware4 root]#make install
注意:编译的时候一定要加上
[root@vmware4 root]#./configure --prefix=/usr/local/apache --enable-module=so
--enable-rule=SHARED_CORE
通过上面的操作,Apache 2.0.59已经安装到 /usr/local/apache目录中了。
三. Apache 与Weblogic的整合
到/usr/local/apache/bin目录下面,然后执行 ./httpd –l
如果能看到mod_so.c表明当前的Apache HTTP Server是动态加载的模式,可以和WebLogic进行整合,否则要重新编译Aapache
a. 手工将weblogic安装目录下bea/weblogic81/server/lib/linux/i686/mod_wl_20.so 拷贝到/usr/local/apache/modules目录下
b. 编辑/usr/local/apache/conf/httpd.conf
在Listen 80下面一行,加上下面的文字:
LoadModule weblogic_module modules/mod_wl_20.so
Include conf/Weblogic.conf
保存文件
c.在/usr/local/apache/conf下面建立一个叫做Weblogic.conf的文件,内容如下:
# Weblogic.conf file
WebLogicHost localhost
WebLogicPort 7001
MatchExpression *.jsp
MatchExpression *.do
#MatchExpression *
#MatchExpression *.html
#MatchExpression *.jpg
#MatchExpression *.gif
#MatchExpression *.css
WLLogFile /tmp/wlproxy.log
保存文件。
d.重新启动apache.
进入/usr/local/apach/bin目录下,执行命令:
./httpd –k stop
./httpd –k start
e. 确定weblogic及apache都为启动状态
输入:http://localhost/msyy 查看是否正常