转帖:http://www.cnblogs.com/taxuewuhen/archive/2012/04/01/2427896.html
一、网站系统的组成:
一般情况下,只要在一台计算机上安装了WEB服务器软件,那么从功能上来讲,这台机器就可以称为WEB服务器。一个网站可大可小,WEB服务器功能可多可少,简单时,一个网站只需要一台WEB服务器就可以对外提供网页浏览服务了,但要是复杂的话,就需要多台WEB服务器组成的集群系统、负载均衡设备、具有缓存功能的代理服务器(可以多级,甚至WEB服务器端的缓存系统)、数据库集群系统等。如图下图所示:
www.sina.com.cn网站就是使用上图所示的服务器架构,不同地区的人访问www.sina.com.cn网站时访问的服务器是不一样的,如河南的用户访问www.sina.com.cn会访问放置在河南地区的区域代理服务器,而武汉的用户访问www.sina.com.cn则会访问放置武汉地区的代理服务器,各地区访问www.sina.com.cn的过程如下图所示:
为了能够让用户访问www.sina.com.cn站点时,不会感觉是在访问本地区的代理服务器,需要在DNS服务器中将www.sina.com.cn主机名指向所有的区域代理服务器的IP地址,当用户输入www.sina.com.cn访问站点时,会先到DNS系统中解析www.sina.com.cn主机名,DNS系统会返回就近的代理服务器的IP地址,这样用户的请求会发送到就近的代理服务器,只有当用户访问的信息在代理服务器中找不到,这时代理服务器才会到真正的www.sina.com.cn站点服务器获取页面并进行缓存,以供其他访问用户使用,大大提高访问效率,降低网络通信流量。
当用户浏览器通过DNS系统找到服务器后,会将主机名作为访问的一部分发送到服务器,如:www.sina.com.cn主机名作为HTTP请求的host的名称发送到服务器,WEB服务器接收到访问请求后,会根据主机名来找WEB服务器中的哪个站点(一个WEB服务器可以运行多个站点)来进行响应,使用不同的主机名才区分一个WEB服务器下多个站点的标示信息。
二、tomcat虚拟主机配置
tomcat服务器中在 $CATALINA_HOME/conf/server.xml中配置设置<host>的name属性s来配置不同主机名对应的站点。
<Engine
name= "Catalina" defaultHost= "localhost" >
<Realm
className= "org.apache.catalina.realm.UserDatabaseRealm"
resourceName= "UserDatabase" />
<Host
name= "localhost" appBase= "webapps"
unpackWARs= "true"
autoDeploy= "true"
xmlValidation= "false" xmlNamespaceAware= "false" >
</Host>
<!--pei zhi zi
ji de xu ni zhu ji www.mengjiangnan.uqc.cn unpackWARs shi fou mei ci jie ya
war wen jian-->
<Host
name= "www.mengjiangnan.cn" appBase= "webapps"
unpackWARs= "true"
autoDeploy= "true"
xmlValidation= "false" xmlNamespaceAware= "false" >
<!-- docBase可以配置为相对路径:\Jquery -->
<Context
path= "" docBase= "G:\dev\apache-tomcat-6.0.33\webapps\Jquery\"
debug=" 1 "
reloadable=" true " allowLinking=" true "></Context>
</Host>
</Engine>
|
server.xml中<host>标签用于配置站点,一个<host>建立一个WEB站点,可以使用多个<host>配置多个站点,但同一个<Engine>中<host>的name不能相同,name属性对应该站点的主机名称,appBase="webappa"设置了一个路径,该路径将作为嵌套在<host>中<context>的属性docBase的基准路径,docBase可以是绝对路径也可以是相对于appBase的相对路径,如:docBase="Jquery\",当tomcat接受到一个请求,会取出主机名来跟<host>的name值来对应,来访问对应的context中docBase配置的站点,若没有找到对应的host,则会访问在<Engine>中defaultHost配置的默认站点,将defaultHost值设置为<Engine>中某个<host>的name值,则该host就会作为该Engine引擎的默认站点。当配置多个<host>时就不能使用IP来作为主机名来访问tomcat,因为Host的name值对应同一个IP,这时就不知道访问哪一个站点。
综上访问过程为:
1.用户浏览器发送访问请求。
2.DNS根据主机名获取IP地址,根据IP地址找到该WEB服务器。
3.WEB服务器根据主机名匹配<host>找到要访问的站点。
三、配置主机名与IP的映射关系
在建立基于主机名的虚拟主机时,除了在service.xml中配置主机名与站点的映射外,还要配置主机名与IP地址的映射,这样在网络中才会找到该WEB服务器。配置主机名与IP地址的映射有两种方式:1.通过DNS(域名解析服务器)系统来配置
2.通过在客户端本地Hosts文件中配置。Hosts文件可用于小型的企业内部网,而DNS用于大型网络服务(如:Internet上对外提供服务)。客户机会首先在本地Hosts文件中找主机名与IP的映射,若没有找到才会去DNS系统中去查找。
下面介绍在hosts文件中配置。在C:\Windows\System32\drivers\etc下找到Hosts文件,用EditPlus打开该文件会看到默认有127.0.0.1
localhost ,这时为什么我们访问http://localhost:8080/,下面我们在新的一行写127.0.0.1 www.mengjiangnan.com ,就建立起来127.0.0.1与www.mengjiangnan.com主机名的映射。
我们如上面图所示配置server.xml,就完成了虚拟主机的配置。启动tomcat,访问http://www.mengjiangnan.cn:8080/Jquery就可以访问Jquery站点了。
分享到:
相关推荐
【Tomcat虚拟主机配置】 Tomcat虚拟主机配置是将一台服务器划分为多个逻辑上的独立主机,每个主机都拥有自己的域名和IP地址,或者共享同一个IP地址,并且能够提供独立的Web服务。这样的设置使得一台物理服务器可以...
本主题将深入探讨“Tomcat虚拟主机”和“Tomcat目录”的概念,以及它们在Tomcat 6版本中的应用。 一、Tomcat虚拟主机 1. **什么是虚拟主机**:在Tomcat中,虚拟主机(Virtual Host)是一种机制,允许在同一个...
- 添加第一个虚拟主机配置: ```xml unpackWARs="true" autoDeploy="true"> directory="logs" prefix="sentom1_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> directory="logs" ...
Tomcat 基于域名的虚拟主机 Tomcat 是一个流行的开源 Web ...本文详细介绍了如何在 Tomcat 中实现基于域名的虚拟主机,包括安装和配置 Tomcat、定义虚拟主机、创建站点目录和测试页面、启动服务和访问虚拟主机等步骤。
`conf/server.xml`是Tomcat的主要配置文件,其中包含了所有服务器级别的设置,包括虚拟主机的定义。虚拟主机可以通过`<Host>`元素在`<Engine>`下创建。每个`<Host>`元素代表一个虚拟主机,其`name`属性应设置为你...
本文将详细讲解如何在Tomcat 5.x版本中配置虚拟主机,以便在同一台服务器上运行多个独立的Web应用。 一、虚拟主机的概念 虚拟主机允许在一个物理服务器上设置多个域名或网站,每个域名对应一个独立的应用程序或服务...
对于开发者来说,灵活地配置虚拟路径(也称为虚拟主机或上下文路径)是提高项目可管理性和扩展性的关键技能之一。本文将详细介绍如何在Tomcat 9中配置虚拟路径。 #### 一、什么是虚拟路径? 虚拟路径是指在Web...
二、配置Tomcat虚拟路径的步骤 1. 打开`$CATALINA_BASE/conf/server.xml`文件,此文件是Tomcat的主要配置文件。 2. 在`<Host>`元素内,你可以创建一个`<Context>`元素来定义新的虚拟路径。`<Host>`元素代表了一个...
tomcat虚拟目录和虚拟主机的配置。照葫芦画瓢就可以,建议先搞,然后再了解原理。 1.可以一个端口地址后面跟多个web,这个可能软件部署的时候用的比较多 2.也可以一个tomcat配置多个站点,绑定多个域名。这种可能是...
我们可以在其中添加虚拟主机、虚拟路径、访问控制等配置信息。 在 Host 标签内,我们需要添加以下配置信息: * name=localhost:指定虚拟主机的名称为 localhost。 * appBase=webapps:指定虚拟主机的应用程序基本...
#### 二、Tomcat虚拟主机配置原理 在Tomcat中,虚拟主机是指通过配置,使得一个Tomcat实例能够响应不同域名的请求。这样可以在一台物理服务器上部署多个Web应用,并且每个应用都可以拥有独立的域名。这种配置方式...
#### 三、Tomcat虚拟主机配置 ##### 3.1 虚拟主机概念 虚拟主机是指在一个物理服务器上运行多个独立网站的技术。对于Tomcat而言,虚拟主机可以理解为在一个Tomcat实例中运行多个Web应用。 ##### 3.2 虚拟主机配置...
- 虚拟主机配置完成后,还需要确保你的域名已正确指向服务器的IP,并且服务器的防火墙设置允许8080端口的访问。 通过以上步骤,你可以在Windows上的Tomcat服务器上配置多个虚拟路径,实现多应用的并行运行。注意,...
`crossContext`属性可以允许不同的虚拟主机使用相同的会话ID,这在使用集群时特别有用。 当配置好虚拟路径后,用户就可以直接通过设置的虚拟路径访问静态资源了,无需担心系统升级或更换服务器时,需要手动备份和...
以下是一个基本的虚拟主机配置示例: ```xml ``` 在这里,`name`属性指定了虚拟主机的域名,`appBase`定义了应用的基础目录,`unpackWARs`表示是否自动解压WAR文件,`autoDeploy`表示是否自动部署应用。 `...
本文将详细介绍如何在Windows平台上使用Apache、Tomcat和JK进行虚拟主机配置和负载均衡设置,Linux平台的配置过程与此基本一致。 #### 二、Apache配置多个虚拟主机 Apache作为一款高性能的Web服务器软件,在配置...