您的位置:首页 > 运维架构 > Tomcat

Tomcat多个域名指向同一个项目

2017-01-10 17:43 337 查看
有时候我们需要将多个域名指向同一个项目,那么在tomcat服务器下该如何实现呢?

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

[html]
view plain
copy





<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>

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

关于<Host>、<Context>标签的知识点可以参考:

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

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

[html]
view plain
copy





<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>

这样我们便完成了多域名的应用配置~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: