Tomcat服务器中配置多个域名,访问不同的web项目

先说一下在本地电脑怎么实现:

想要在一个tomcat下访问两个web项目时,可以通过添加虚拟host的方式来解决。

      详细步骤如下:

       1、将两个项目打包放入tomcat的webapps目录下;

        2、修改tomcat的server.xml文件,原来的代码如下:

                        <Host name="localhost"  appBase="webapps"
                              unpackWARs="true" autoDeploy="true"
                        xmlValidation="false" xmlNamespaceAware="false">
                    
                       </Host>

            添加代码后如下:

                       <Host name="localhost"  appBase="webapps"
                             unpackWARs="true" autoDeploy="true"
                             xmlValidation="false" xmlNamespaceAware="false">
                        <Context path="ROOT" docBase="/ROOT"/> 
                        </Host>
                        <Host name="myspring.com"  appBase="webapps"
                             unpackWARs="true" autoDeploy="true"
                             xmlValidation="false" xmlNamespaceAware="false">
                        <Context path="" docBase="/SpringMvcArchitect2"/>
                        </Host>

                需注意两点:a、原来的host需要加上context标签,并且path由原来的空变为项目名,因为两个host的path不能同时为空,不然会访问出错,原来的项目名默认为ROOT。

                                        b、添加新的host,将docBase里的路径设置为第二个web项目的路径,这里为/SpringMvcArchitect2,name为虚拟域名,自定义的。


           3、修改机器的host文件(区别于上面的Host标签,是系统host文件),添加一个ip映射,例如添加的host的name为myspring.com,则往系统host文件中添加127.0.0.1 myspring.com


           4、重启tomcat,就可以使用localhost:8080和myspring.com:8080访问两个web项目了,这里端口设置为8080,可以自己更改。

       

           5、同理可以扩展为多个web项目,只需配置多个host即可

 附:部分项目如jfinal框架默认的项目在ROOT下,所以war包不能都放webapps文件夹下,这样需另外存放路径如E: est

 1、   server.xml配置文件如下

<Host name="localhost"  appBase="webapps"
                             unpackWARs="true" autoDeploy="true"
                             xmlValidation="false" xmlNamespaceAware="false">
                        <Context path="ROOT" docBase="C: omcatwebappsROOT"/>
                        </Host>
     <Host name="test.xiuyuewang.com"  appBase="E: est"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
          <Context path="" docBase="E: estROOT" reloadable="false" crossContext="true"/>
</Host>

2、 系统host配置文件

     添加    127.0.0.1    新域名

3、重启tomcat。

原文来自http://www.cnblogs.com/JOEH60/p/6022228.html

原文地址:https://www.cnblogs.com/JOEH60/p/6022228.html