tomcat 实现多域名指定同一项目

有时候我们需要将多个域名指向同一个项目,那么在tomcat服务器下该如何实现呢?

之前查过有人说在 tomcat安装目录/conf/server.xml 中的server.xml配置文件中配置多个<Host>来实现这个功能~过程如下:

<Host name="www.xxxx.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" >
				<Context path="" docbase="" />
				<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="qunasao_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
			</Host> 
<Host name="xxxx.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" >
				<Context path="" docbase="" />
				<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="qunasao_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
			</Host> 
<Host name="m.xxxx.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" >
				<Context path="" docbase="" />
				<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="qunasao_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
			</Host> 

这样虽然可以实现,但是会有一个大问题,那就是会导致多虚拟机的情况

关于、标签的知识点可以参考:

  1. http://hdxiong.iteye.com/blog/650539

当tomcat启动的时候它就会读取该server.xml文件,tomcat每读到一个就会加载该标签下指定的应用,所以,我们上面的3个标签都是指定同一个应用,也就是说tomcat重复加载了三遍该应用,虽然我们我们成功将不同的域名绑定到了该应用,不过这方法确实让tomcat加载了3次该应用,同时跑动三个相同的应用!这是非常消耗资源的,而且这也不是安全、正确的方法。

所以下面,我将开始介绍如何正确的配置多域名的项目,其实在标签内部有一种标签(注意大小写),该标签就是可以将其他也需要配置的域名配置到该项目中去。其中Host标签的name属性可以配置一个域名,一对标签也可以配置一个域名,如果有多个域名要配置,那么我们就可以多写几个标签便可。

<Host name="www.xxxx.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" >
				<Alias>xxxx.com</Alias>
				<Alias>m.xxxx.com</Alias>
				<Context path="" docbase="" />
				<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="qunasao_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
			</Host>

这样我们便完成了多域名的应用配置~~

猜你喜欢

转载自blog.csdn.net/wxh160901/article/details/84997973
今日推荐