美文网首页
tomcat 实现多域名指定同一项目

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

作者: henry技术探索记录员 | 来源:发表于2020-04-23 15:36 被阅读0次

    有时候我们需要将多个域名指向同一个项目,那么在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>
    
    

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

    转自:https://blog.csdn.net/wxh160901/article/details/84997973

    Tomcat server.xml配置appBase与docBase的用法

    相关文章

      网友评论

          本文标题:tomcat 实现多域名指定同一项目

          本文链接:https://www.haomeiwen.com/subject/rnjaihtx.html