足足两天呀,呕心沥血,才解决了这个问题,相信大家曾经或者以后也许遇到这个问题,特此贡献出来,给大家以借鉴,希望别像我这样费尽周折。之所以选择apache2,是因为目前wls7只支持apache2的结合.
1.首先,正确安装apache2,这里我们假设安装在C:\apache group,安装完毕,需要测试apache2是否支持动态加载模块功能,这样测试,到命令
提示符下运行:
c:\>apache group\apache2\bin\apache -l
如果列出:
mod_so.c
则表示支持,然后将本篇文章附件中的mod_wl_20.so拷贝到apache group\apache2\modules下面,运行:
c:\>apache group\apache2\bin\apache -t
如果输出:
Syntex Ok
表示WebLogic Server plug-in安装成功。
2.正确安装weblogic7.0。这里我们假设wls7的安装路径是:c:\bea。然后用域配置向导配置一个域,我们假设域
的名称为amjn,路径是c:\bea\user_projects\amjn,然后在amjn下面分别建立两个站点web1,web2,修改
c:\bea\user_projects\amjn\config.xml文件,在
<Application Deployed="true" Name="DefaultWebApp"
Path=".\applications" StagedTargets="" TwoPhase="false">
<WebAppComponent Name="DefaultWebApp" Targets="myserver" URI="DefaultWebApp"/>
</Application>
下面添加:
<Application Deployed="true" Name="web1" Path=".\applications\web1"
StagedTargets="" TwoPhase="false">
<WebAppComponent Name="web1" URI="web1" VirtualHosts="web1_vh"/>
</Application>
<Application Deployed="true" Name="web2" Path=".\applications\web2"
StagedTargets="" TwoPhase="false">
<WebAppComponent Name="web2" Targets="myserver" URI="web2" VirtualHosts="web2_vh"/>
</Application>
在文件最下面的
</Domain>
的上面添加
<VirtualHost DefaultWebApp="web1" Name="web1_vh" Targets="myserver" VirtualHostNames="www.web1.com"/>
<VirtualHost DefaultWebApp="web2" Name="web2_vh" Targets="myserver" VirtualHostNames="www.web2.com"/>
,然后重新启动运行\amjn\startWeblogic.cmd,一定要运行正常。到这里,weblogic算是配置完成了。
3.现在开始配置apache多个虚拟主机,首先我们先打开c:\winnt\system32\drivers\etc\hosts文件,在其中添加:
10.1.3.30 www.web1.com
10.1.3.30 www.web2.com
这里面的10.1.3.30是你的weblogic服务器绑定的ip,然后打开apache2\conf\httpd.conf文件,在174行,注意是174行加入如下语句:
#WebLogic Server Proxy Settings -------该行是174行
LoadModule weblogic_module modules/mod_wl_20.so
<IfModule mod_weblogic.c>
WebLogicHost www.amjn.com
WebLogicPort 7001
MatchExpression *.jsp
MatchExpression *.do
</IfModule>
然后修改httpd.conf文件中的Listen:80为Listen:10.1.3.30:80,在文件section 3部分添加:
NameVirtualHost 10.1.3.30
<VirtualHost 10.1.3.30>
ServerName www.web1.com
DocumentRoot "c:/bea/user_projects/amjn/applications/web1"
ErrorLog logs/web1.com.log
</VirtualHost>
<VirtualHost 10.1.3.30>
ServerName www.web2.com
DocumentRoot "c:/bea/user_projects/amjn/applications/web2"
ErrorLog logs/web2.com.log
</VirtualHost>
启动apache,如果没有问题(可以通过logs/error.log查看),那就一切ok了
4.现在你可以分别敲入www.web1.com/index.jsp,访问的将是web1/index.jsp,敲入www.web2.com/index.jsp访问的将是web2/index.jsp
……