设为首页 收藏本站
查看: 720|回复: 0

[经验分享] apache通过基于域名方式的虚拟主机与多个weblogicServer集成

[复制链接]

尚未签到

发表于 2017-1-13 09:27:46 | 显示全部楼层 |阅读模式
Apache以基于域名的虚拟主机方式与多个WebLogic Server集成

1.   测试原理概述
虚拟主机原理

WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器。比如由一台机器同时提供http://www.jsp-examples.com/, http://www.logindemo.com/ 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别。使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度。

WWW虚拟主机有两种工作方式:

基于IP地址的虚拟主机方式。

这种方式下,不同的主机名解析到不同的IP地址,提供虚拟主机服务的机器上同时设置有这些IP地址。服务器根据用户请求的目的IP地址来判定用户请求的是哪个虚拟主机的服务,从而进一步的处理。

缺点:基于IP地址的虚拟主机方式需要在提供虚拟主机服务的机器上设立多个IP地址,既浪费了IP地址,又限制了一台机器所能容纳的虚拟主机数目。因此这种方式越来越少使用。但是,这种方式是早期使用的HTTP 1.0协议唯一支持的虚拟主机方式。

基于主机名的虚拟主机方式。

由于基于IP地址的虚拟主机方式有如上的缺点,HTTP 1.1协议中增加了对基于主机名的虚拟主机的支持。具体说,当客户程序向WWW服务器发出请求时,客户想要访问的主机名也通过请求头中的"Host:"语句传递给WWW服务器。比如,http://www.jsp-examples.com/, http://www.logindemo.com/ 都对应于同一个IP地址(即由同一台机器来给这两个虚拟域名提供服务),客户程序要存取http://www.jsp-examples.com/index.html时,发出的请求头中包含有如下的内容:

GET /index.html HTTP/1.1

Host: http://www.jsp-examples.com/

…..

WWW服务器程序接收到这个请求后,可以通过检查"Host:"语句,来判定客户程序请求是哪个虚拟主机的服务,然后再进一步的处理。

优点:提供虚拟主机服务的机器上只要设置一个IP地址,理论上就可以给无数多个虚拟域名提供服务,占用资源少,管理方便。目前基本上都是使用这种方式来提供虚拟主机服务。

缺点:在早期的HTTP 1.0版本下不能使用。实际上现在使用的浏览器基本上都支持基于主机名的虚拟主机方式。

这里我们只测试基于域名方式的Apache虚拟主机与的WebLogic Server的集成,各个虚拟主机共同通过1个apache连接多个WebLogic Server。

 

2.   测试环境
操作系统: RedHatEnterpriseLinux4(x86)     (虚拟机)

主机1 IP:     192.168.1.199 WebLogic 端口7001

主机2 IP :    192.168.1.114 WebLogic 端口7001

WebServer:   Apache2.0.54

中间件:      WebLogic 8.1

两台主机同时装有WebLogic 8.1,主机1的WebLogic发布/home/applications/jsp-examples为默认应用,主机2的WebLogic发布/home/applications/LoginDemo应用为默认应用。主机1 装apache做WebServer。

 

3.   基本环境搭建
依照测试环境更改主机设置,安装配置软件,WebLogic发布各自应用,并把mod_wl_20.so插件cp到apache安装主路径的modules路径下。至此搭建基本测试环境完毕。详细步骤参考―――――。

4.   具体配置
#vi /usr/local/apache/conf/httpd.conf

修改apache默认发布路径DocumentRoot及后边的<Directory /> 为

DocumentRoot  “/home/applications/jsp-examples”   

<Directory  “/home/applications/jsp-examples”/>      

并在在最后添加:

LoadModule weblogic_module modules\mod_wl_20.so

//使apache启动时载入Weblogic 模块。

NameVirtualHost 192.168.1.199

//设置接受请求的主机,这里设为装有apache的主机IP

<VirtualHost 192.168.1.199>

           //配置第一台虚拟主机

ServerName www.jsp-examples.com    

       //主机域名

DocumentRoot /home/applications/jsp-examples

<IfModule mod_weblogic.c>

       //将这台主机的jsp请求发给192.168.1.199:7001处理

 

WebLogicHost 192.168.1.199

WebLogicPort 7001

MatchExpression *.jsp

MatchExpression *.do

</IfModule>

</VirtualHost>

<VirtualHost 192.168.1.199>

                     //配置第2个虚拟主机

ServerName www.logindemo.com

DocumentRoot /home/applications/LoginDemo

<Directory "/home/applications/LoginDemo">

//发布路径与默认配置不同,所以要设置覆盖默认设置

Options Indexes FollowSymLinks

AllowOverride None

Oredr allow,deny

Allow from all

</Directory>

<IfModule mod_weblogic.c>

                     //将这台主机的jsp请求发给192.168.1.114:7001处理

WebLogicHost 192.168.1.114

WebLogicPort 7001

MatchExpression *.jsp

MatchExpression *.do

</IfModule>

</VirtualHost>

 

5.   测试结果
    因为要用域名来识别不同的虚拟主机,我们这里这样测试:修改网内客户机的/etc/hosts,添加:

192.168.1.199www.jsp-examples.com

192.168.1.199www.logindemo.com

把两个名字都映射到相同的IP上,这样就可以都访问到主机1,apache会根据不同的名字找到不同的VirtualHost,以处理应用。

启动2台主机上的WebLogic服务,启动主机1上的apache,在1台修改过/etc/hosts的主机上的浏览器输入http://www.jsp-examples.com和http://www.logindemo.com,就可以分别访问主机1上发布的jsp-examples应用的jsp页面和主机2上发布的LoginDemo应用的jsp页面。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-327783-1-1.html 上篇帖子: apache与多个tomcat集成 单台主机多站点场景 下篇帖子: apache+mod_jk+tomcat(jboss) 架构连接池相关配置解读及原则
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表