tomcat配置server.xml文件
2017-05-31 19:20
477 查看
一、配置多个域名对应多个项目
之前使用Tomcat配置server.xml的时候只是修改了端口号,其实也只会修改个端口号……其实我知道这个server文件里有很多非常有用的配置,比如今天想要记录的配置多个host节点,实现多个域名分别对应着多个不同的项目。
<Host name="localhost" appBase="webapps"> <Context path="" docBase="\ROOT" /> </Host> <Host name="www.mydomain1.com" appBase="webapps"> <Context path="" docBase="WeChat"/> </Host> <Host name="www.mydomain2.com" appBase="webapps"> <Context path="" docBase="vote"/> </Host>
这里用到的两个域名(www.mydomain1.com、www.mydomain2.com)我已经在本地做了dns解析,把域名解析到了本地IP127.0.0.1。经过上面的配置我们已经实现了这样的功能:在浏览器输入www.mydomain1.com访问的是WeChat项目,输入www.mydomain2.com访问的是vote项目。这两个项目都放在Tomcat文件夹下的webapps目录下。
本来以为这样配置就完全没有问题了,但我还是经验太少了,这样配置的结果就是每个项目都会被多次部署。
二、解决项目多次部署问题
本以为项目多次部署没什么问题,但从Tomcat ROOT查看到的内存使用情况来看,多次加载项目还是增加了内存的消耗的,而且这种多次加载的事儿在我这是不允许发生的……原因
Host 节点:
代表一个虚拟主机,每个虚拟主机和某个网络域名(Domain Name)相匹配。每个虚拟主机下都可以部署(deploy)一个或者多个Web 应用程序(Web Application),每个Web 应用程序对应于一个Context,有一个Context path。当虚拟主机获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理。匹配的方法是“最长匹配”,一个path=”“的Context将成为该虚拟主机的默认Context。所有无法和其它Context的路径名匹配的请求都将最终和该默认Context匹配。
host节点的appBase,这个目录表示:
1 这个目录下面的子目录将自动被部署为应用。
2 这个目录下面的.war文件将被自动解压缩并部署为应用
这样造成的结果就是每个host读取项目的时候都会扫描到appBase中的项目并自动部署,
Context节点:
一个Context对应于一个Web应用程序,一个Web应用程序由一个或者多个Servlet组成。
Context 在创建的时候又读取一次项目的文件夹,这一个项目又被部署一次(不知道真实情况是不是这样,目前我是这样理解的)
解决
既然造成项目多次部署的原因是多次读取了项目所在的文件夹,那我给他换一个路径存放项目不就行了-_-
<Host appBase="webapps" name="localhost"> <Context docBase="\ROOT" path=""/> </Host> <Host appBase="webapps" name="www.mydomain1.com"> <Context docBase="D:\mywebapp\WeChat" path=""/> </Host> <Host appBase="webapps" name="www.mydomain2.com"> <Context docBase="D:\mywebapp\vote" path=""/> </Host>
自己写的项目单独拿出来,放在独立的文件夹下,用绝对路径指到项目地址,这样就不会被多次部署了……
虽然这样解决了问题,但感觉好像有哪里不对啊……
相关文章推荐
- Tomcat配置文件server.xml中常用元素简介
- tomcat配置文件web.xml与server.xml解析--重要
- 修改tomcat server.xml配置文件,解决乱码问题
- Tomcat6.0 目录结构说明 及 配置文件server.xml说明
- Tomcat Server.xml配置文件
- log4j无日志生成? 我将一个web项目部署在tomcat server.xml配置文件中,当我启动tomcat是无日志输出。
- Tomcat与server.xml配置文件
- tomcat配置文件分析--server.xml
- tomcat配置文件server.xml详解
- tomcat配置文件server.xml详解
- tomcat中的server.xml中的配置文件中<Host appBase="webaps"修改appBase引起的路问题
- Tomcat配置文件server.xml
- Tomcat Server.xml配置文件
- 【2011/2/28】关于Tomcat的conf/server.xml文件中上面配置 context的reloadable属性的时候,区分path和docBase二者的意义
- JDBC在Tomcat中配置数据库(MSSQL和ORACLE)连接池的配置文件(server.xml)
- Tomcat Server.xml配置文件
- Tomcat的配置文件server.xml 中各个域的说明
- Tomcat Server.xml配置文件
- tomcat配置文件server.xml详解
- Tomcat的服务器配置文件server.xml解析