在 Tomcat 上配置虚拟主机

1、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>

 

2、为主机配置域名

 

 

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

 

 

(2)本例为

 

127.0.0.1       www.sina.com

 

(3)保存该文件

 

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>设置。

 

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

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

 

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

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

时间: 2024-08-25 22:12:21

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

在阿帕奇上配置虚拟主机

Apache配置须知: Listen 80:端口监听,这个地方可以设置监听多个端口,设置方式 Listen 80 Listen 8080 DocumentRoot ‘路径’:网站根目录 ServerName ‘域名:80’:域名 <Directory ‘路径’> DirectoryIndex index.html index.php Options Indexes Order Deny,Allow Allow from all </Directory> 在"httpd.c

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

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

tomcat配置虚拟主机

在眼下,非常多server都是一台server对外能够訪问非常多个javaEE的项目,这样的实现方式就须要在tomcat里面配置虚拟主机了!以下就说说怎样配置虚拟主机: 找到tomcat的安装文件夹,到TOMCAT_HOME/apache-tomcat7/conf文件夹下,找到server.xml这个文件,打开该文件,在该文件里找到关于Engine这个子节点 <Engine name="Catalina" defaultHost="localhost">

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

先描述一下问题现象,在本地测试运行一个java web网站,一切正常.但把网站部署到Linux服务器上后,发现登录出了问题,提示验证码输入不正确.登录时需要输入验证码,而验证码的原值是先存入session中的,然后点击[登录]后,会对比用户输入的验证码与原值,可此时查看日志发现,从session获取验证码为null. 起先本人惯性地认为是代码的问题,可换了几种写法之后,仍然存在这种现象,仔细想了下服务器与本地环境的差异,锁定了一个点,服务器的域名跟本地是不同的,服务器上的tomcat设置了虚拟主

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

Tomcat  配置WEB虚拟映射 及 配置虚拟主机 配置WEB虚拟映射文件夹有三种方法例如以下: 第一(要重新启动server的): 打开路径 Tomcat 6.0\conf 下的 server.xml文件, 在文件内容的</Host>的上面一行加入?一条语句:<Context path="" docBase="这里指向你要映射的文件夹比方(E:\code\news)" reloadable="true" />, 注意改

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

昨天实践了下在CentOS 5上通过Apache直接配置虚拟主机,服务器没有安装面板软件,所以只能通过SSH远程连接操作了.Apache安装在/etc/httpd目录下,这个即是Apache的根目录,所以Apache配置文件/etc/httpd/conf/httpd.conf中的ServerRoot设置的是ServerRoot “/etc/httpd”.我们编辑httpd.conf,在虚拟主机配置区看到如下的代码: #NameVirtualHost *:80ps:中间数行无关紧要注释略去了.#<

Nginx演练(1)配置虚拟主机

Nginx是一款比较流行Web服务器,和Apache,Lighttpd,IIS属于同类产品.对比而言,Nginx从性能和内存占用方面,都非常优秀,具体对比细节自行百度. 三大WEB服务器对比分析(apache ,lighttpd,nginx) 本文演练的主要内容是: 使用Nginx,实现基于IP的虚拟主机 使用Nginx,实现基于域名的虚拟主机 tomcat配置虚拟主机 1.前提 什么是虚拟主机? 虚拟主机使用是特殊的软硬件技术,把一台运行在Internet上的服务器主机分成一台台"虚拟&quo

Tomcat下配置虚拟路径管理web项目

关于虚拟路径.在学习javaweb的培训课程,今天老师给出了这样一个场景. 当我们的项目,在有一个项目不同的目录的时候,我们如何去使用tomcat去管理web项目. 老师提出的解决方案是 利用虚拟路径的方式,并且按照如下方式对tomcat进行配置.使得 tomcat可以管理不同目录上的项目. 我的问题:项目不是转换成war包发布到tomcat上吗,然后放在了webapps目录下面吗? 或者直接把项目放置webapps下面. 1.为什么有可能出现 管理不同目录下的web项目呢? 2.上面两种方式,

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

一:web应用组织结构 1:web应用组成结构 2:安装web组成机构手动创建一个web应用程序目录 a:在webapps下创建目录web b:在web目录下创建html.jsp.css.js.WEB-INF等目录以及index.html访问首页文件 c:在html.jsp.css.js目录中写对应的文件,在WEB-INF目录创建classes.lib以及web.xml文件 d:启动服务器,访问: 默认访问index.html 如果将web设置成服务器默认访问的应用程序,那么只需要访问local