Tomcat 配置多域名访问
第一种:
<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 就要把对应的 webapps 的目录下所有的文件都部署一遍。合理的方式应该是将不同项目的文件夹分开,以作为不同的资源对不同的域名部署。
第二种:
<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>
这种方式是对同一个资源进行加载,并监听不同的域名。
以上内容摘自##JamKong 的博客
一般 tomcat 架构解析的书都会有介绍,不再细说。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于