tomcat服务器配置多个项目
修改tomcat的server.xml文件中的Engine标签下的Host标签如下:
<Host name="www.a.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias>www.a.com</Alias> <Alias>a.com</Alias> <Context path="" docBase="/xxx" /> </Host> <Host name="888.a.com" appBase="D:\xx" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias>888.a.com</Alias> <Context path="/ecshop" docBase="D:\xx\xxx\"></Context> </Host> <!--<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host>-->
这样就配置了两个项目在tomcat下了。
www.a.com此域名对应的项目在webapps下的docBase指定的目录下。
888.a.com此二级域名对应的项目在d:xx下的docBase指定的目录下。
启动tomcat就会去解压对应目录下去的项目,并运行。
注意:如果两个host的appbase相同,且docBase的指向不是绝对路径(如相对路径,则是相对appbase路径的)或是appbase下的路径,则域名可以互相访问项目(a域名可以访问b域名指向的项目,b域名也可以访问a域名指向的项目)。
标签属性name并无意义,只是区分host作用,按Alias标签配置的域名来访问项目资源。
标签属性appBase表示:
1 这个目录下面的子目录将自动被部署为应用。
2 这个目录下面的.war文件将被自动解压缩并部署为应用。
而标签属性docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。
关于更多说明可以参考:http://www.blogjava.net/jjshcc/archive/2010/06/16/323659.html,http://blog.csdn.net/cicada688/article/details/14451541