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页面。
相关推荐
Apache 和 WebLogic 集群基于域名的集成是一种常见的企业级解决方案,用于部署和管理多个应用程序在一个物理服务器或集群上。这种集成允许你利用Apache HTTP Server的域名解析能力,为多个运行在不同WebLogic Server...
创建一个负载均衡器,将多个WebLogic实例添加到平衡器中,如下所示: ``` BalancerMember http://weblogic-server1:7001 route=server1 BalancerMember http://weblogic-server2:7002 route=server2 ProxySet ...
这个过程涉及到多个步骤,包括Apache的安装、配置,以及WebLogic的代理设置。 首先,让我们详细讨论Apache 2.4的安装。在Linux环境中,通常使用包管理器如apt(Ubuntu/Debian)或yum(CentOS/RHEL)来安装基础的...
1. **负载均衡**:通过IIS作为前端服务器,可以实现负载均衡,将请求分发到多个WebLogic实例上,提高系统的可用性和响应速度。 2. **安全性**:IIS可以配置SSL证书,提供HTTPS支持,确保数据传输的安全性。而...
- **配置虚拟主机**: 虚拟主机技术允许在一台物理服务器上托管多个不同的网站。 - **虚拟主机与缺省Web应用**: 虚拟主机和缺省Web应用之间存在着紧密的联系。 - **设置虚拟主机**: 设置虚拟主机时需要配置域名、IP...
作为反向代理,Apache可以与Web Application Server (WAS)、WebLogic Server (WLS)等其他应用服务器协同工作,但不支持与Microsoft Internet Information Services (IIS)集成。 #### 三、在路由器上进行端口映射的...
8. **虚拟主机**:Tomcat支持多个虚拟主机,这意味着在一个物理服务器上可以运行多个独立的Web站点,每个站点有自己的域名和应用程序。 9. **集群和负载均衡**:虽然Tomcat本身不提供内置的负载均衡功能,但可以...
- 定义虚拟主机,使一个Tomcat实例能托管多个独立的域名或Web应用。 - 集成其他Java EE组件,如JNDI(Java Naming and Directory Interface)和JMS(Java Message Service)。 - 配置安全管理,如设置角色、权限和...
6. **Conf**:包含Tomcat的全局配置文件,如server.xml、web.xml等,用于配置服务器的端口、虚拟主机、应用部署等信息。 7. **Lib**:存放服务器需要的库文件,比如JAR文件,这些库可以被所有部署的应用共享。 8. ...
6. **虚拟主机**:一个Tomcat实例可以托管多个虚拟主机,每个虚拟主机可以有独立的域名、应用和配置。 7. **JNDI(Java Naming and Directory Interface)**:Tomcat支持JNDI,允许在不同应用之间共享资源,如数据...
5.1 与Apache HTTP Server集成 通过mod_jk或mod_proxy模块,实现Apache和Tomcat之间的负载均衡和反向代理。 5.2 与JBoss、WebLogic等应用服务器比较 Tomcat轻量级、易于部署,而JBoss、WebLogic等提供更完整的Java ...
7. **Host**:Host组件代表了在服务器上的一个虚拟主机,可以配置多个Host来托管不同的域名或应用。 8. **Engine**:Engine是最高级别的组件,它可以包含多个Host,并且负责处理所有发送到该服务器的请求。 在使用...
你可以通过配置虚拟主机来托管多个网站。 2. **Nginx**: Nginx以其高性能和高并发处理能力而著名,常作为反向代理、负载均衡器和静态资源服务器。它可以与Apache配合使用,提高Web服务性能。 3. **IIS**: Internet...
- 虚拟主机:通过server.xml配置多个Host,实现不同域名的应用独立部署。 4. **Tomcat性能优化** - 连接器优化:调整Connector的maxThreads、minSpareThreads等参数,以应对不同负载需求。 - JVM调优:合理设置...
8. **虚拟主机**:在Tomcat中,可以配置多个虚拟主机,每个虚拟主机可以绑定不同的域名或IP,通过`<Host>`元素在`conf/server.xml`中定义。 9. **热部署**:当应用的`.java`或`.jsp`文件发生改变时,Tomcat可以自动...
Engine之下则是Host,用于管理多个虚拟主机。 Service在Tomcat的架构中扮演着重要的角色,它将Connector与Engine连接起来,使得请求能够从网络传输到应用处理。这种设计使得Tomcat能够灵活地处理多种网络协议,并且...
- Host:在Engine中定义了虚拟主机,可以有多个Host,每个Host对应一个域名。 - Context:代表单个Web应用,每个Host可以包含多个Context。 配置Tomcat的主要文件是`conf/server.xml`,在这个文件中,你可以定义...