、Tomcat
服务器的server.xml文件

 

(1)Tomcat 组件

Tomcat服务器是由一系列可配置的组件构成,其中核心组件是 Catalina Servlet 容器,它是所有其他 Tomcat 组件的顶层容器。Tomcat 的组件可以在 <CATALINA_HOME>/conf/server.xml 文件中进行配置,每个 Tomcat 组件在 server.xml 文件中对应一种配置元素。

 

(2)Tomcat 组件之间的关系

以下代码以 XML 的形式展示了各种 Tomcat 组件之间的关系:

<Server>

<Service>

<Connector />

<Engine>

<Host>

<Context>

</Context>

</Host>

</Engine>

</Service>

</Server>

 

(3)各个Tomcat 组件的说明

在以上 XML 代码中,每个元素都代表一种 Tomcat 组件。这些元素可分 4 类:

l  顶层类元素:主要包括<Server> 元素和 <Service> 元素,他们位于整个配置文件的顶层。

l  连接器类元素:代表了介于客户与服务之间的通信接口,负责将客户的请求发送给服务器,并将服务器的响应结果传递给客户。

l  容器类元素:代表处理客户请求并生成响应结果的组件,有 3 种容器类元素,它们是 Engine、Host 和 Context。Engine 组件为特定的 Service组件处理所有的客户请求,Host 组件为特定的虚拟主机处理所有客户请求,Context 组件为特定的 Web 应用处理所有客户请求。

l 嵌套类元素:嵌套类元素代表了可以加入到容器中的组件,如<Logger> 元素、<Valve> 元素和 <Realm> 元素。

 (4)<Server> 元素

<Server> 元素代表整个Catalina Servlet 容器,它是 Tomcat 实例的顶层元素,由org.apache.catalina.Server 接口来定义。

<Server> 元素中可以包含一个或多个<Service> 元素,但 <Server> 元素不能做为任何其他元素的子元素。

(5)<Service> 元素

<Service> 元素由org.apache.catalina.Service 接口来定义,它包含一个<Engine> 元素,以及一个或多个 <Connector> 元素,这些<Connector> 元素共享同一个 <Engine> 元素。

(6)<Connector> 元素

<Connector> 元素由org.apache.catalina.Connector 接口来定义。<Connector> 元素代表和客户程序实际交互的组件,它负责接受客户请求,以及向客户返回响应结果。

(7)<Engine> 元素

<Engine> 元素由org.apache.catalina.Engine 接口来定义。每个 <Service> 元素只能包含一个<Engine> 元素。<Engine> 元素处理在同一个 <Service> 元素中所有<Connector> 元素接受到的客户请求。

<Engine> 元素可包括如下子元素:

<Loggor>

<Realm>

<Valve>

<Host>

(8)<Host> 元素

<Host> 元素由org.apache.catalina.Host 接口来定义。一个 <Engine> 元素中可以包含多个<Host> 元素。每个 <Host> 元素定义了一个虚拟主机,他可以包含一个或多个 Web 应用。

    <Host>元素可包括如下子元素:

<Loggor>

<Realm>

<Valve>

<Context>

(9)<Context> 元素

<Context> 元素由org.apache.catalina.Context 接口来定义。<Context> 元素是使用最频繁的元素。每个<Context> 元素代表运行在虚拟主机上的单个 Web 应用。一个<Host> 元素中可以包含多个 <Context> 元素。

    <Context> 元素可包括如下子元素:

<Loggor>

<Realm>

<Valve>

<Resource>

<ResourceParams>

 

、为主机配置域名

 

 

(1)编辑C:\WINNT\system32\drivers\etc下的hosts文件,在其中增加对本机IP地址的映射的域名

 

 

(2)本例为

 

127.0.0.1       www.sina.com

 

(3)保存该文件

 

、修改Tomcat下的C:\jakarta-tomcat-5.0.19\conf\server.xml文件以增加一个主机Host的设置

Host标记是用来配置虚拟主机的,就是可以多个域名指向一个tomcat,<context>是Host标记的子元素吧,表示一个虚拟目录,它主要有两个属性,path就相当于虚拟目录名字,而 docbase则是具体的文件位置。

<Hostname="www.sina.com" debug="0" appBase="webapps"  unpackWARs="true"autoDeploy="true"     xmlValidation="false"xmlNamespaceAware="false">

<Contextpath="" docBase="ROOT" debug="0" />

</Host>

注意:

(1)可以将Tomcat自己带的localhost主机的Host的整个设置全部拷贝,然后将“localhost”改名为www.sina.com即可以。

(2)必须保证在<Host></Host>之间至少有一个<Context  path="" docBase="ROOT"debug="0" />的根Web应用程序的设置项目存在。

(3)可以根据应用的需要,在<Host></Host>之间设置其它的基于该主机名称下的其它Web应用程序的<Context>设置。

 

、启动Tomcat后再浏览本Web应用

输入http://www.sina.com:8080/WebMis/index.jsp

 

、本例也可以以localhost缺省的主机名称来访问

http://localhost:8080/WebMis/index.jsp

在 Tomcat 上配置虚拟主机的更多相关文章

  1. 在tomcat6.5+上配置虚拟主机

    一 准备(必须配置,否则不能解析域名到ip) 我们将配置两台虚拟主机,假设域名分别为 www.test1.com www.test2.com 为了测试方便,请在客户机的: Win2K://WINNT/ ...

  2. linux上nginx上配置虚拟主机的相关配置

    1.配置主配置: nginx/conf/nginx.conf 2.虚拟主机配置:nginx/conf/extra/learn.weixin.com.conf 配置完后,重启服务器!

  3. tomcat配置虚拟主机

    在眼下,非常多server都是一台server对外能够訪问非常多个javaEE的项目,这样的实现方式就须要在tomcat里面配置虚拟主机了!以下就说说怎样配置虚拟主机: 找到tomcat的安装文件夹, ...

  4. Tomcat配置虚拟主机后的登录验证码问题

    先描述一下问题现象,在本地测试运行一个java web网站,一切正常.但把网站部署到Linux服务器上后,发现登录出了问题,提示验证码输入不正确.登录时需要输入验证码,而验证码的原值是先存入sessi ...

  5. Tomcat 配置WEB虚拟映射 及 配置虚拟主机

    Tomcat  配置WEB虚拟映射 及 配置虚拟主机 配置WEB虚拟映射文件夹有三种方法例如以下: 第一(要重新启动server的): 打开路径 Tomcat 6.0\conf 下的 server.x ...

  6. CentOS 5上Apache配置虚拟主机范例

    昨天实践了下在CentOS 5上通过Apache直接配置虚拟主机,服务器没有安装面板软件,所以只能通过SSH远程连接操作了.Apache安装在/etc/httpd目录下,这个即是Apache的根目录, ...

  7. mac 上 mamp 配置虚拟主机 具体过程 ?

    https://www.zhihu.com/question/32320396 mac 上 mamp 配置虚拟主机 具体过程 ? 按照哪些配置什么的 都搞好了 但是还不好 配置的主机 制定的目录 还是 ...

  8. javaweb学习总结十七(web应用组织结构、web.xml作用以及配置虚拟主机搭建网站)

    一:web应用组织结构 1:web应用组成结构 2:安装web组成机构手动创建一个web应用程序目录 a:在webapps下创建目录web b:在web目录下创建html.jsp.css.js.WEB ...

  9. Nginx安装、配置虚拟主机、反向代理、负载均衡

    1.   nginx安装 下载nginx: 官方网站: http://nginx.org/ 使用的版本是1.8.0版本. Nginx提供的源码. 1.1. 要求的安装环境 1.需要安装gcc的环境.y ...

随机推荐

  1. python开发_python中str.format()

    格式化一个字符串的输出结果,我们在很多地方都可以看到,如:c/c++中都有见过 下面看看python中的字符串格式函数str.format(): 1 #使用str.format()函数 2 3 #使用 ...

  2. H5数飞机

    当时进入民航大培训前做过一系列的测试,一共是8个小游戏,主要测试情景意识.反应能力.场面控制之类的,有几个还记忆犹新,这个数飞机只是其中之一,今天没事用JavaScript做了一遍. 原理 逻辑比较简 ...

  3. Qt5.3.1 OpenCV2.4.9 开发环境配置

    首先是将我们需要的三个软件安装:分别是OpenCV2.4.9.QT5.3.1 .Cmake3.0.2 一定要使用Cmake3.0.2编译OpenCV2.4.9 其他版本的不一定能编译成功!!!! A. ...

  4. Erlang gen_server进程花样作死

    本文主要记录各种情况下gen_server进程退出的表现. 研究动机起源于Elixir/Phoenix框架中遇到的一个进程异常退出问题.因为网络异常,客户端超过一段时间未发来消息,channel进程( ...

  5. Redux 核心概念

    http://gaearon.github.io/redux/index.html ,文档在 http://rackt.github.io/redux/index.html .本文不是官方文档的翻译. ...

  6. UVa 10341 - Solve It【经典二分,单调性求解】

    原题: Solve the equation:         p*e-x + q*sin(x) + r*cos(x) + s*tan(x) + t*x2 + u = 0         where  ...

  7. dblink实现不同用户之间的数据表访问

    1.dblink 1.创建dblink,如果在用户A下创建dblink,名称为TEST_DBLINK; 去操作GCFR_33用户下的表数据等等, 那么在查询表数据的sql就要加上dblink了.如下是 ...

  8. Python 使用 virtualenvwrapper 安装虚拟环境

    装载于https://www.jianshu.com/p/9f47a9801329 Python 使用 virtualenvwrapper 安装虚拟环境 Tim_Lee 关注 2017.05.04 2 ...

  9. 国寿e店/人寿云参会云助理,不去公司就能刷脸考勤打卡?

    自从2017年3月平安保险公司实行E行销打卡考勤以来,保险增员迅猛增加,保险业绩也随之水涨船高.年底开始中国人寿保险也陆续开始实行app考勤,有些需要连接公司指定WiFi,或在指定地点方可打卡考勤.不 ...

  10. 《You dont know JS》值相关总结

    值 一:和数组相关的几个需要关注的点 数组可以容纳任何类型的值. 数组声明时不需要预先设置大小.可以动态改变. 使用delete运算符可以将数组中的某个元素删除,但是这个操作不会改变数组的length ...