Tomcat 6 配置虚拟主机<域名/二级域名>,并通过Tomcat控制台对多个Host进行管理,让我纠结了好几天的问题,开始将项目放在tomcat webapps目录下,是可以实现tomcat控制台管理每个项目的,但是放在webapps下,项目会启动N次,每个Host都将会使webapps下的项目启动一次,若将项目放置在其他位置,只启动一次,但tomcat控制台却无法看到host对应的项目,从而无法单独进行管理<启动,停止,重新部署等。。。>,有鉴于此,本文结合网上的一些资料,将从配置虚拟主机到可管理的配置从头详细的理一遍,方便自己也方便大家查阅,如有错误或更好的建议请各位大神斧正!
假设现有两个二级域名 dls.wsy.com 和 zd.wsy.com ,对应两个项目,都跑在同一台服务器的同一个tomcat上,我们需要通过dls.wsy.com访问项目dls,和通过zd.wsy.com访问项目zd,就需要Tomcat的虚拟主机的支持,具体配置如下:
1、找到{tomcat_home}/conf/server.xml ,找到<Host></Host>标签,在其后面增加如下标签:
- <Hostname="dls.wsy.com"appBase="E:\\work\\run_project\\agent"
- unpackWARs="true"autoDeploy="true"
- xmlValidation="false"xmlNamespaceAware="false">
- </Host>
- <Hostname="zd.wsy.com"appBase="E:\\work\\run_project\\terminal"
- unpackWARs="true"autoDeploy="true"
- xmlValidation="false"xmlNamespaceAware="false">
- </Host>
2、其中,目录E:\\work\\run_project\\agent 和目录E:\\work\\run_project\\terminal是自己建的,随便建,在这里指向过去就好了,同时在这两个目录下新建ROOT目录,目录下放入你的项目,注意,放入ROOT目录下的项目不应该带项目名,只放项目内容,如项目的目录结构如下图:
3、到这一步,启动Tomcat,如果域名指到当前机器上的话,应该是已经能通过域名访问你的项目了!但是这时候通过Tomcat控制台却无法看到两个域名对应的项目,所以就无法进行单独管理,如果需要tomcat控制台进行启动、关闭、查看运行信息等操作,就需要进行如下配置:
找到{tomcat_home}/conf/Catalina,新建两个目录,dls.wsy.com和zd.wsy.com,分别在两个目录下放入manager.xml,文件名可以自定义,为访问控制台的项目名,这里为manager,那么访问控制台的url则分别为:http://dls.wsy.com/manager/html 和http://zd.wsy.com/manager/html ,若修改成其他的,则将url中的manager替换一下就可以了,同样能访问到tomcat的控制台。xml内容如下:
- <Contextpath="/manager"docBase="{tomcat_home}\\webapps\\manager"--这里的tomcat_home需要替换成您实际的tomcat安装目录的绝对路径
- debug="0"privileged="true">
- <!--Linktotheuserdatabasewewillgetrolesfrom-->
- <ResourceLinkname="users"global="UserDatabase"
- type="org.apache.catalina.UserDatabase"/>
- </Context>
4、现在就可以通过url访问每个虚拟主机的控制台了,输入:http://dls.wsy.com/manager/html 或 http://zd.wsy.com/manager/html 可以对两个项目进行管理,截图如下:
原文地址http://blog.csdn.net/tangkai_java/article/details/7860062