转帖: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配置虚拟主机,有详细的步骤,经测试已经成功,希望对需要的人有帮助!
Tomcat5_x中的虚拟主机配置方法
tomcat虚拟目录和虚拟主机的配置。照葫芦画瓢就可以,建议先搞,然后再了解原理。 1.可以一个端口地址后面跟多个web,这个可能软件部署的时候用的比较多 2.也可以一个tomcat配置多个站点,绑定多个域名。这种可能是...
Apache2.2多个虚拟主机+Tomcat6多个虚拟主机整合配置,亲自试验,有问题联系我
TOMCAT 8.5的服务器状态、Tomcat Web应用程序管理者、Tomcat虚拟主机管理员设置
tomcat—apache集群虚拟主机配置详解!
RedHatAS4下Apache2+MySQL+Php+Tomcat整合及虚拟主机配置
该文档讲解了Tomcat 配置多虚拟主机,多域名绑定一个IP下的多个web项目。
创建虚拟主机 初步了解服务器配置 了解tomcat的使用 及自定义网站的IP
启动内存参数的配置及含义 Tomcat的简单配置介绍 ...Tomcat多虚拟主机的配置方法 Tomcat集群配置(负载均衡、Session共享) Tomcat安全SSL的配置使用 Tomcat性能调优 Tomcat日志简介 安全配置 常见问题
对于Tomcat服务器,可以放置多个网站(多个web应用),这就是讲配置多个虚拟主机,可以看成好像有多个主机,而每个主机上有一个web应用。如同之前的文章所说的,对于Tomcat服务器来讲,在server.xml文件中,一个标签...
windows平台下,Apache + tomcat + jk,配置负载均衡以及虚拟主机,达到可以多用户、多项目在同一台服务器中,同时开发、部署的目的。linux平台配置同意与此一致。
9,TOMCAT基于名称的虚拟主机 10,TOMCAT IP访问控制 11,TOMCAT访问日志记录 12,TOMCAT状态验证 13,TOMCAT设置SSL访问 14,TOMCAT安全策略 15,TOMCAT的URL编码格式 16,TOMCAT传输压缩 17,TOMCAT集群和负载...
IIS5+Tomcat5.0.3整合_配置多站点虚拟主机图解手册(PDF)
9,TOMCAT基于名称的虚拟主机 10,TOMCAT IP访问控制 11,TOMCAT访问日志记录 12,TOMCAT状态验证 13,TOMCAT设置SSL访问 14,TOMCAT安全策略 15,TOMCAT的URL编码格式 16,TOMCAT传输压缩 17,TOMCAT集群和负载...
NULL 博文链接:https://terry0501.iteye.com/blog/1827227