http://my.oschina.net/u/557735/blog/398305
在开发的时候都是直接把war包直接扔到tomcat的webapps目录下,通过localhost:8080/project来访问,但是在上线系统的部署,显然不可能通过www.xxx.com/project这样去访问的。
原来天真的认为域名是可以指向IP:端口/project这样的,今天去客户那部署发现完全不是那么回事,域名只能指向IP,于是马上求助度娘,找到如下方案。
在tomcat的conf/server.xml中,默认有个节点是
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"></Host>
其中localhost就是本机的域名,在hosts文件中可以看到一句话:localhost name resolution is handled within DNS itself.即localhost指向的是本机,127.0.0.1这个ip。通过修改和添加Host可以增加tomcat的虚拟主机,并绑定域名。
这里实验我就放两个war包,一个是admin.war,对应的域名是admin.xxx.com。一个是sm.war,对应的域名是www.xxx.com
在本机做实验的时候,可以通过修改hosts文件模拟域名访问。这里我就添加三个域名进去
127.0.0.1 www.xxx.com
127.0.0.1 admin.xxx.com
接下来在tomcat中配置虚拟主机
先说明一下两个主机的目录结构
tomcat
├─admin
│ └─war
├─sm
│ └─war
稍后解释为什么目录这么建。
在server.xml中添加两个虚拟主机
<Host name="www.xxx.com" appBase="sm" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="./war/sm.war" />
</Host>
<Host name="admin.xxx.com" appBase="admin" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="./war/admin.war" />
</Host>
说明一下其中的参数
Host
name 虚拟主机名,一般写域名
appBase 虚拟主机应用的目录
unpackWARs
如果为true,会解压war包,否则不解压,直接运行
autoDeploy 默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用。
context
path web应用名,
docBase web应用的具体存放路径
path的作用可以看这位朋友写的tomcat原理了解一下:
http://blog.csdn.net/xiemk2005/article/details/5988764
配置完成后启动tomcat,就通过域名访问两个app了。
这里有几点要说明的:
刚刚在建立目录的时候为什么要建立war目录
在appBase中指定的根目录中如果有war包,tomcat就会加载到内存中去,而子目录里的war包不会。也可以把war包扔到appBase意外的其他目录去,Context的docBase里指定就可以了。
为什么不把war包都放在webapps里
由于我的path配置是“”(空字符串),默认会解压到ROOT目录中去,如果都放在webapps里,就都会解压到ROOT
分享到:
相关推荐
【Tomcat虚拟主机配置】 Tomcat虚拟主机配置是将一台服务器划分为多个逻辑上的独立主机,每个主机都拥有自己的域名和IP地址,或者共享同一个IP地址,并且能够提供独立的Web服务。这样的设置使得一台物理服务器可以...
- 添加第一个虚拟主机配置: ```xml unpackWARs="true" autoDeploy="true"> directory="logs" prefix="sentom1_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> directory="logs" ...
对于开发者来说,灵活地配置虚拟路径(也称为虚拟主机或上下文路径)是提高项目可管理性和扩展性的关键技能之一。本文将详细介绍如何在Tomcat 9中配置虚拟路径。 #### 一、什么是虚拟路径? 虚拟路径是指在Web...
在本文中,我们将深入探讨如何在Tomcat中配置和管理虚拟主机,以及实现这一目标的最佳实践。 首先,理解Tomcat的目录结构至关重要。`conf/server.xml`是Tomcat的主要配置文件,其中包含了所有服务器级别的设置,...
本文将详细讲解如何在Tomcat 5.x版本中配置虚拟主机,以便在同一台服务器上运行多个独立的Web应用。 一、虚拟主机的概念 虚拟主机允许在一个物理服务器上设置多个域名或网站,每个域名对应一个独立的应用程序或服务...
本主题将深入探讨“Tomcat虚拟主机”和“Tomcat目录”的概念,以及它们在Tomcat 6版本中的应用。 一、Tomcat虚拟主机 1. **什么是虚拟主机**:在Tomcat中,虚拟主机(Virtual Host)是一种机制,允许在同一个...
本文将详细介绍在Tomcat中配置基于域名的虚拟主机的步骤和相关注意事项。 首先,我们需要准备运行环境,即安装OpenJDK和Tomcat。安装完这两项基础软件之后,下一步是解压缩Tomcat,并将其移动到一个指定的目录,...
我们可以在其中添加虚拟主机、虚拟路径、访问控制等配置信息。 在 Host 标签内,我们需要添加以下配置信息: * name=localhost:指定虚拟主机的名称为 localhost。 * appBase=webapps:指定虚拟主机的应用程序基本...
`crossContext`属性可以允许不同的虚拟主机使用相同的会话ID,这在使用集群时特别有用。 当配置好虚拟路径后,用户就可以直接通过设置的虚拟路径访问静态资源了,无需担心系统升级或更换服务器时,需要手动备份和...
标题 "Tomcat配置虚拟路径(Windows)" 涉及到的是在Windows环境下对Apache Tomcat服务器进行虚拟主机配置的方法。Tomcat是Java Servlet和JavaServer Pages(JSP)的开源应用服务器,它允许开发者部署多个Web应用程序...
二、配置Tomcat虚拟路径的步骤 1. 打开`$CATALINA_BASE/conf/server.xml`文件,此文件是Tomcat的主要配置文件。 2. 在`<Host>`元素内,你可以创建一个`<Context>`元素来定义新的虚拟路径。`<Host>`元素代表了一个...
以下是一个基本的虚拟主机配置示例: ```xml ``` 在这里,`name`属性指定了虚拟主机的域名,`appBase`定义了应用的基础目录,`unpackWARs`表示是否自动解压WAR文件,`autoDeploy`表示是否自动部署应用。 `...
tomcat虚拟目录和虚拟主机的配置。照葫芦画瓢就可以,建议先搞,然后再了解原理。 1.可以一个端口地址后面跟多个web,这个可能软件部署的时候用的比较多 2.也可以一个tomcat配置多个站点,绑定多个域名。这种可能是...
#### 二、Tomcat虚拟主机配置原理 在Tomcat中,虚拟主机是指通过配置,使得一个Tomcat实例能够响应不同域名的请求。这样可以在一台物理服务器上部署多个Web应用,并且每个应用都可以拥有独立的域名。这种配置方式...
### RedHat AS4 下 Apache2 + MySQL + PHP + Tomcat 整合及虚拟主机配置 #### 软件概述与安装准备 根据给定文件,本文档主要介绍如何在 RedHat AS4 操作系统上安装并配置 Apache2、MySQL、PHP 和 Tomcat,以及如何...
《IIS5+Tomcat5.0.3整合_配置多站点虚拟主机图解手册》是一份详尽的教程,旨在帮助用户理解如何在Windows环境中将Internet Information Services (IIS) 5.0与Apache Tomcat 5.0.3进行整合,并设置多站点虚拟主机。...
Tomcat的核心配置文件之一是`server.xml`,这个文件位于Tomcat的`conf`目录下,它是Tomcat服务器的全局配置文件,定义了服务器的端口号、数据源、连接器、虚拟主机、Context等关键组件的设置。例如,你可以在这里...