1.虚拟主机
对一个Tomcat,可以配置多台虚拟主机。简单地说,就是让一台服务器可以对应多个主机名。这在Tomcat中称之为Host。要求每个Host的Name必须唯一。
配置方法:
在$CATALINA_HOME/conf/server.xml中定义了所有的Host。Tomcat默认会建立一个localhost的虚拟主机,如下:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
其中,
appBase指定了该虚拟主机上应用的部署位置。一般填写相对于CATALINA_HOME的相对路径即可。
其他参数可以参考Tomcat文档。
如果需要建立其他虚拟主机,只需要仿照上例,声明其他不同name的Host即可。
2.Root context
在一个Host上,可以部署多个应用。每个应用都有不同的Context Path。Context Path会出现在用户访问该应用的URL中。例如, 如果指定了应用的Context Path为/ABC,该应用的URL可能就是http://localhost:8080/ABC,。自然有人会问,可不可以没有Context Path呢?我的理解是可以只有Root Context,即Context Path就是/。如此一来,上例中的URL就变成http://localhost:8080/。
配置方法:
在$CATALINA_HOME/conf/server.xml中,对于每个Host而言,都可以通过Context子元素指定其Root Context所在位置。如下:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="webapps/docs" path="/"
privileged="true" antiResourceLocking="false" >
</Context>
</Host>
此处,就将该主机的Root Context指向了$CATALINA_HOME/webapps/docs。
有几点需要注意:
a.因为每个应用都需要有不同的Context Path区分,所以一般来说每个Host只有一个Root Context。
b.在Host中不指定Root Context时,Tomcat会自动将appBase下的ROOT(全大写)文件夹作为Root Context所指位置。这也是Tomcat刚安装时的设置。如果指定了Root Context,则需要将ROOT文件夹删除。因为Tomcat会优先使用ROOT文件夹。
c.在网上查询到,还可以在$CATALINA_HOME/conf/Catalina/localhost/ROOT.xml中指定localhost的Root Context,但是在Tomcat 6.0.26中没有实验成功。
分享到:
相关推荐
### Tomcat映射虚拟目录context配置不用重启 在IT领域中,Apache Tomcat是一个免费开源的Servlet容器,它能够提供一个执行环境供Java Web应用程序运行。对于开发者来说,灵活地管理Tomcat上的Web应用程序是非常重要...
### Tomcat配置根目录及虚拟目录详解 #### 一、前言 Apache Tomcat是一款开源的Servlet容器,它能够提供对Servlet和JavaServer Pages技术的支持。对于初学者来说,理解和配置Tomcat中的根目录和虚拟目录可能会遇到...
### Tomcat服务的配置 ...此外,还介绍了Tomcat虚拟主机的概念及配置方法,以及几种常见的部署方式。这些知识对于理解和使用Tomcat非常有帮助,无论是初学者还是有一定经验的开发者都能从中获益。
- 在 `$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default` 文件中定义的信息将被特定虚拟主机的所有 Web 应用加载。 - 在 `$CATALINA_HOME/conf/[enginename]/[hostname]` 目录中的单独 `.xml` 文件...
了解并掌握这些基础知识后,你可以根据需求配置Tomcat,部署Web应用,管理虚拟主机,以及调整服务器性能。Tomcat 6.0的使用并不复杂,但深入了解其配置和工作原理将有助于优化你的开发和运维流程。
server.xml位于Tomcat的conf目录下,是Tomcat的主要配置文件,负责配置服务器的各种特性,包括监听的端口、连接器、虚拟主机等。其中,元素用于配置虚拟主机的相关属性,而<Context>元素用于定义特定Web应用的属性。...
配置负载均衡器的虚拟主机和后端服务器组。 4. **共享公共资源**:确保所有Tomcat节点可以访问相同的静态资源和应用库,这通常通过网络文件系统(NFS)或分布式文件系统(如GlusterFS)实现。 5. **集群通信**:...
- **Host**: 位于Engine容器中用于接收请求并进行相应处理的主机或虚拟主机。 - **Context**: Context用于标识Tomcat实例中的一个Web应用程序。 #### 三、实现步骤详解 接下来,我们将按照以下步骤详细讲解如何在...
6. **文档根目录(Document Root)**:每个虚拟主机的`appBase`指定的是文档根目录,即用户访问时看到的第一个目录。可以在这个目录下放置静态资源、WEB-INF目录以及WEB.XML配置文件。 7. **重定向和重写**:可以...
- **增强的控制力**:开发者可以直接控制Tomcat的启动、停止及配置,而无需依赖外部的Web服务器。 - **减少部署复杂性**:应用程序可以独立部署,无需额外设置外部Web服务器。 - **提高性能**:由于减少了中间层,...
- 在 `server.xml` 文件中配置虚拟主机和上下文。 - 示例配置如下: ```xml <Context docBase="myapp" path="/myapp" reloadable="true"/> ``` 这里 `docBase` 指向应用的物理路径,而 `path` 则定义了访问该...
- 在这种方式下,每个虚拟主机可以拥有自己的数据源配置,并且这些配置可以在其下的所有应用之间共享。 #### 常见问题及解决方法 - **异常1**: `org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create ...
ROOT.xml文件通常位于Tomcat的conf/Catalina/localhost目录下,用于配置"ROOT"虚拟主机下的Web应用。文件内容可能包括Context元素,用于指定Web应用的路径、类加载器设置、错误页面、过滤器和监听器等配置。 在更...
5. **部署与管理**:开发者可以通过修改`conf/server.xml`配置文件来添加、删除或配置虚拟主机,也可以通过`webapps`目录下的`.war`文件自动部署应用。Tomcat还支持管理工具,如`manager`应用,允许用户通过Web界面...
- 在Tomcat6.0中,每个虚拟主机(Host)都有自己的Catalina容器,这增强了管理多个应用的能力。每个应用都在自己的`Context`下运行,这使得部署和管理更加灵活。 4. **JMX(Java Management Extensions)支持**: ...