背景:7个网站分别部署在7个tomcat。7个tomcat全部运行在一个服务器上,同一个ip。通过不同的端口来区分不同的网站。要实现通过不同的域名访问每一个网站。
解决方案:修改/conf/server.xml文件,配置该tomcat多个HOST。
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> --> </Host> <Host name="www.abc.com" debug="0" appBase="H:\\WebSite\\abc\\tomcat-6.0.35\\webapps\\ROOT" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias>www.abc.com</Alias> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="localhost_log." suffix=".txt" timestamp="true"/> <Context path="" docBase="H:\\WebSite\\abc\\tomcat-6.0.35\\webapps\\ROOT" reloadable="true" caseSensitive="false" debug="0"></Context> </Host>
因为我的www.abc.com这个域名指定的网站应用是ROOT文件夹。所以在appBase指定了这个应用的部署路径。
这样就大功告成了!