Apache+weblogic
集成服务器的搭建说明
在一个基于WEBLOGIC服务器发布的WEB应用系统,可以通过使用WEBLOGIC内置的WEB SERVER:WEBLOGIC EXPRESS来处理HTML等静态网页,也可以采用其他的WEB SERVER:如APACHE,MICROSOFT IIS,NETSCAPE 等来处理HTML等静态网页,而把JSP等动态的内容转发给WEBLOGIC处理,从而提高整个系统的性能.下面介绍采用Apache充当WEBLOGIC的WEB SERVER的配置方法.
一、 Windows篇 (泛指NT以上的Windows版本)
1、 下载和安装
目前weblogic 7.1和weblogic 8.1 只支持apache2.0.*的版本,如果使用过高版本就有可能造成Apache不能使用,推荐从:http://httpd.apache.org/download.cgi那下载Apache 2.0.59版本(apache_2.0.59-win32-x86-no_ssl.msi)。
在安装APACHE前要先关闭IIS,如果不关闭IIS安装Apache会出错。
关闭IIS有两种方法,任意一种都可以:
- 控制面板--性能和维护--管理工具--服务中,关闭IIS Admin服务。
- 在开始--运行中直接输入如下代码,或者先输入cmd,在弹出的窗口中输入也行net stop iisadmin上述命令关闭了iis相关的所有服务器,比如web sites 、smtp等。net stop iisadmin /y避免输入上面那个命令后需要在输入y如果用net stop w3svc只是关闭一个站点3w服务器,但是如果是多个web站点就不行。
如果开启IIS可以在控制面板中找到interet信息服务打开网站服务的方法,也可以用命名,net start w3svc都可以。注意如果直接在服务中打开IIS Admin服务或者运动net start iisadmin,是可以打开IIS Admin服务,但是3w服务没有打开,所以依旧需要用上面的方法打开3w服务,因为在打开IIS Admin服务没有打开3w服务,但是打开3w服务肯定就打开了IIS Admin服务。
接下来开始安装apache。双击apache_2.0.59-win32-x86-no_ssl.msi,安装Apache,出现欢迎画面,点击"Next",然后出现协议页面,选择同意协议选择,点击"Next",出现说明页面,点击"Next",然后出现下面所示画面:
图1 配置Apache
图中的单项选择,对于初学者来说,不管Apache的服务是否使用80单口,建议都选第一个,这样就直接把Apache注册为系统服务,稳定方便。填写完毕后,点击"Next",选择Typical,点击"Next",然后出现选择安装路径,这里取默认值,点击"Next",然后点击"Install"按钮。安装完毕后,点击"Finish"按钮,退出安装程序。这时候,你会发现在桌面的右下角出现apache的运行监视图标。
注:如果以后需要改端口,可以在Apache安装目录下的conf/httpd.conf中修改Listen项:
例如:使服务器同时接受来自端口80和8000的请求,可以这样写:
Listen 80
Listen 8000
接受来自两个指定的地址+端口的组合:
Listen 192.168.80.1:80
Listen 192.168.80.5:8000
附:关于IIS和Apache集成的一些说明:
- 由于Apache&IIS都默认WEB服务端口是80,所以其中一个必须修改其端口,一般改成8080
修改IIS端口直接在IIS管理工具中就可以了。可以在控制面板中找,或者在运行中输入inetmgr
修改Apache端口,通过开始-所有程序-Apache-Configure Apache Server打开httpd.conf文件,
2. 找到 #Listen 192.168.80.78:80 #是注释符号
3. Listen 80 改成 Listen 8080
然后找到 ServerName localhost:80 改成 ServerName localhost:8080 即可
- 在浏览器中输入localhost,如果修改了端口就输入localhost:8080能够看到apache页面,就说明安装成功了。
ps[2005.9.29].利用apache的proxy模块实现隐藏iis的端口
- 按照上面的方法,apache使用默认端口80,修改iis使用端口为8080,当然你也可以采用其他的合理端口。
- 修改apache的http.conf文件,去掉下面两行代码前的注释符号#,启动代理模块
3. LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
- 在该文件添加上如下两行代码,使输入http://localhost/iis/转向http://localhost:8080
5. ProxyPass /iis/ http://127.0.0.1:8080/
ProxyPassReverse /iis http://127.0.0.1:8080
这样就可以在浏览器中输入localhost访问apache,输入localhost/iis/访问iis了而隐藏了8080端口
- 另外,可以通过设置虚拟主机来访问apache或者iis
7. <VirtualHost *:80>
8. ServerAdmin [email protected]
9. DocumentRoot E:/www/dancewithnet
10. ServerName www.dancewithnet.com
11. ServerAlias dancewithnet.com
12. DefaultLanguage zh-CN
13. AddDefaultCharset UTF-8
14. </VirtualHost>
15. <VirtualHost *:80>
16. ServerAdmin [email protected]
17. ServerName iis.dancewithnet.com
18. DefaultLanguage zh-CN
19. AddDefaultCharset GB2312
20. ProxyPass / http://127.0.0.1:8080/ or http://服务器ip:8080/
21. ProxyPassReverse / http://127.0.0.1:8080/ or http://服务器ip:8080/
</VirtualHost>
这样就可以使用www.dancewithnet.com访问apache,iis.dancewithnet.com访问iss,而隐藏了8080端
)
2、 安装WLS7.0,配置WLS Domain
3、 设置Apache
进入DOS界面,首先到C:/Program Files/Apache Group/Apache2/bin目录下面,然后执行Apache -l命令,出现如下画面:
图2 Apache -l命令
mod_so.c表明当前的Apache HTTP Server是动态加载的模式,可以和WebLogic进行整合(因为Windows平台下面的WebLogic Server7.0和8。0只支持Apache 2.x)。
然后将weblogic 安装目录下的(如D:/bea/weblogic81/server/bin)的mod_wl_20.so拷贝到C:/Program Files/Apache Group/Apache2/modules目录下面。然后执行 Apache -t命令,出现如下画面:
图3 Apache -t命令
这表明Apache 的WebLogic Server plug-in安装成功。
4、修改C:/Program Files/Apache Group/Apache2/conf目录下面的httpd.conf文件。
首先添加新的和WebLogic相关的应用模块,在httpd.conf文件的174行加入如下语句:
#WebLogic Server Proxy Settings
LoadModule weblogic_module modules/mod_wl_20.so
<IfModule mod_weblogic.c>
WebLogicHost 192.168.80.47
WebLogicPort 7001
MatchExpression *.jsp
MatchExpression *.do
MatchExpression *.*
MatchExpression *
</IfModule>
如下图所示:
图4 配置HTTPD.CONF
然后把找到#LoadModule rewrite_module modules/mod_rewrite.so
把前面的“#”去掉,然后再加conf文件下添加
RewriteEngine on
RewriteRule ^/$ /fundcrm/ [R]
目前汇丰的部署到这一步,先STOP,在start服务就可以
5 、为Apache 添加WebLogic相关的应用模块
然后把httpd.conf文件中的
DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs"
改为
DocumentRoot " D:/fundcrm/mydomain/applications/fundcrm"
,把
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
改为
<Directory " D:/fundcrm/mydomain/applications/fundcrm">
修改完毕后,重新启动apache服务,如下图所示:
图5 重新启动Apache服务
6、现在测试Apache是否起作用,打开IE浏览器,访问 http:// 192.168.80.47/fundcrm就可以看到了登录页面了
二、 Liunx 篇
1、 下载和安装Apache
目前weblogic 7.1和weblogic 8.1 只支持apache2.0.*的版本,如果使用过高版本就有可能造成Apache不能使用,推荐从:http://httpd.apache.org/download.cgi那下载Apache 2.0.59版本(httpd-2.0.59.tar.gz) .
下载完毕后,将httpd-2.0.59.tar.gz上传到Linux服务器上,开始安装apache(为了方便起见,本文安装与配置的用户为root):
[root@vmware4 root]# cd /root
[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将不能正常使用
通过上面的操作,Apache 2.0.48已经安装到 /usr/local/apache目录中了。到/usr/local/apache/bin目录下面,执行下面的命令:
[root@vmware4 bin]# ./httpd -version
Server version: Apache/2.0.59
Server built: July 12, 2007 23:26:06
注:如果需要修改监听端口,可以在Apache安装目录下的conf/httpd.conf中修改Listen项:
例如:使服务器同时接受来自端口80和8000的请求,可以这样写:
Listen 80
Listen 8000
接受来自两个指定的地址+端口的组合:
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
2、安装WEBLOGIC 服务器(7.1和8.1版本),并发布应用
3、 Apache和weblogic 的集成
到/usr/loca/apache/bin目录下面,然后执行:
[root@vmware4 bin]# ./Apache –l (或者 httpd –l )
出现如下画面:
图6(Apache -l) httpd -l命令
如果能看到mod_so.c表明当前的Apache HTTP Server是动态加载的模式,可以和WebLogic进行整合,否则要重新编译Aapache
然后手工将/usr/local/bea/weblogic81/server/lib/linux/i686(如果是AIX 则需要将AIX对应的/server/lib/aix)目录下面的mod_wl_20.so文件拷贝到/usr/local/apache/modules/目录下面:
[root@vmware4 bin]#cp /usr/local/bea/weblogic81/server/lib/linux/i686/mod_wl_20.so
/usr/local/apache/modules/
3、修改/usr/local/apache/conf目录下面的httpd.conf文件。
添加新的和WebLogic相关的应用模块,在httpd.conf文件的最后加入如下语句:
# WebLogic Server 8.1 plug-in
LoadModule weblogic_module modules/mod_wl_20.so
<IfModule mod_weblogic.c>
WebLogicHost 192.168.80.47
WebLogicPort 7001
MatchExpression *.jsp
MatchExpression *.do
MatchExpression *.*
MatchExpression *
</IfModule>
为Apache 添加WebLogic相关的应用模块
然后把httpd.conf文件中的
DocumentRoot "/usr/local/apache/htdocs"
改为
DocumentRoot "/home/www/mydomain/applications/fundcrm/"
,把
<Directory "/usr/local/apache/htdocs">
改为
<Directory "/home/www/mydomain/applications/fundcrm/">
修改完毕后,执行[root@vmware4 bin]# ./Apache –t (httpd -t),如果出现下面提示,说明配置成功。
验证Apache配置文件
执行如下命令,启动apache:
[root@vmware4 bin]# cd /usr/local/apache/bin
[root@vmware4 bin]# ./ Apache –k start (httpd -k start)
为了确认Apache和WebLogic都已经启动,执行如下命令,查看进程树:
[root@vmware4 bin]# pstree
图6 查看Linux进程树
现在测试Apache是否起作用,打开IE浏览器,访问 http:// 192.168.80.47/fundcrm