apache+weblogic虚拟主机配置

apache+weblogic虚拟主机配置 
整体环境 
RedHat AS3 
WebLogic Server 8.1 SP2 (/home/bea) 
Apache 2.0.46 (/usr/local/apache2)

配置目标

实现两个域名www.test1.comwww.test2.com能够在一台服务器上同时运行jsp及servlet应用

实现www.test1.com及其二级域名(如blog.test1.com)在同一台服务器上运行jsp及servlet应用

注:www.test1.com目录在/home/test1 
www.test2.com目录在/home/test2 
blog.test.com目录为/home/test1/blog(blog调用的图片资源目录位于/home/test1/resource) 
www.test1.comwww.test2.com和blog.test1.com都被解析到同一个IP地址上

首先将www.test1.com在weblogic里面配置成默认的web应用test1 
现在输入www.test1.com:7001应该能访问到test1

然后配置Weblogic的虚拟主机

在console的左边导航栏,中选择mydomain ->Services-> VirtualHosts,然后在右面点击Configure a new Virtual Host...,在Configuration的General选项卡下面,填写: 
Name: test2 
Virtual Host Names: www.test2.com 
然后点击"apply",然后到Target and Deploy 选项卡,选中myserver,点击"apply",这样名称为test1的虚拟主机就搭建成功了。 
同样再建立一个虚拟主机 
Name: blog 
Virtual Host Names: blog.test1.com

接着部署两个应用,分别为: test2与blog

把test2部署到虚拟主机 www.test2.com 
把blog部署到虚拟主机 blog.test1.com 
重新起动weblogic服务器 
现在可以访问 
http://www.test2.com:7001/ 
和 
http://blog.test1.com:7001/ 
访问到的应该是 www.test1.com下面的目录

不急,更改config.xml文件

打开当前weblogic server的config.xml文件,找到VirtualHost配置部分, 
把关于虚拟主机的部分修改为以下与上面相应的代码

< VirtualHost DefaultWebApp="test2" Name="test2" Targets="myserver" VirtualHostNames="www.test2.com"/ > 
< VirtualHost DefaultWebApp="blog" Name="blog" Targets="myserver" VirtualHostNames="blog.test1.com"/ >

即在每个虚拟主机配置里面加入一句 DefaultWebApp="(这里填相应的web应用的名字)"

更改配置文件后,重新起动weblogic服务器。

访问 
http://www.test2.com:7001/ 
和 
http://blog.test1.com:7001/ 
现在应该是分别看到test2和blog目录下面的默认网页了

使apache与weblogic结合

把 
/home/bea/weblogic81/server/lib/linux/i686 
目录下的mod_wl_20.so文件拷贝到 
/usr/local/apache2/modules 
目录下

打开apache的httpd.conf文件添加以下代码:

LoadModule weblogic_module modules/mod_wl_20.so

# WEBLOGIC MODULE 
< IfModule mod_weblogic.c > 
WebLogicHost 127.0.0.1 
WebLogicPort 7001 
MatchExpression *.jsp (这里可以再加上自己调用的一些servlet,例如:MatchExpression /Test*,其中Test为所有servlet的前缀,当然这里也涉及到程序的规范化) 
< /IfModule >

为了使apache支持SSI,还要打开一下两个模块

LoadModule include_module modules/mod_include.so 
LoadModule cgi_module modules/mod_cgi.so

然后再打开下面两句

AddType text/html .shtml 
AddOutputFilter INCLUDES .shtml(想让什么文件支持SSI,只需再这里加入即可,如加入.html,则html也可支持SSI)

然后更改网站的默认目录为/home/test1 
具体如下 
ServerName www.test1.com

DocumentRoot "/home/test1/"

< Directory "/home/test1/" > 
Options Indexes FollowSymLinks +Includes(这句使网页支持SSI) 
AllowOverride None 
Order allow,deny 
Allow from all 
< /Directory >

然后进行虚拟主机的设置:

#默认web目录 
NameVirtualHost * 
< VirtualHost * > 
ServerName www.test1.com 
ServerAdmin webmaster@test1.com 
DocumentRoot /home/test1 
< /VirtualHost >

#test2 
< VirtualHost * > 
ServerAdmin webmaster@test2.com 
DocumentRoot /home/test2 
ServerName www.test2.com 
< IfModule mod_weblogic.c > 
WebLogicHost www.test2.com 
WebLogicPort 7001 
MatchExpression *.jsp (这里可以再加上自己调用的一些servlet,例如:MatchExpression /Test*,其中Test为所有servlet的前缀,当然这里也涉及到程序的规范化) 
< /IfModule > 
< Directory "/home/test2/" > 
Options Indexes FollowSymLinks +Includes 
AllowOverride None 
Order allow,deny 
Allow from all 
< /Directory > 
< Directory "/home/test2/WEB-INF/" > 
Order deny,allow 
deny from all 
< /Directory > 
< /VirtualHost >

#blog 
< VirtualHost * > 
ServerAdmin webmaster@test1.com 
DocumentRoot /home/test1 
ServerName blog.test1.com 
< IfModule mod_weblogic.c > 
WebLogicHost blog.test1.com 
WebLogicPort 7001 
MatchExpression *.jsp (这里可以再加上自己调用的一些servlet,例如:MatchExpression /Test*,其中Test为所有servlet的前缀,当然这里也涉及到程序的规范化) 
< /IfModule > 
< Directory "/home/test1/blog/" > 
Options Indexes FollowSymLinks +Includes 
AllowOverride None 
Order allow,deny 
Allow from all 
< /Directory > 
< Directory "/home/test1/blog/WEB-INF/" > 
Order deny,allow 
deny from all 
< /Directory > 
< /VirtualHost >

存盘,退出 
重启apache

现在通过www.test1.comwww.test2.com和blog.test1.com即可分别访问三个域名各自目录下面的网页

不过,还有一个问题是blog调用的resource文件位于/home/test1/resource目录下,调用的图片什么的显示有问题,没关系,我们作个软链接即可

ln -s /home/test1/resource /home/test1/blog/resource

配置完毕,现在www.test1.comwww.test2.com和blog.test1.com都可正常解释jsp和servlet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值