一、场景:

    使用一个tomcat部署多个项目,并且分别使用不同域名进行访问。

二、详细配置

   tomcat/conf/server.xml 中写

<Engine name="Catalina" defaultHost="localhost">

***********************************

<Host name="biz-admin.test.test" appBase="app/biz-admin" uppackWARs="true" xmlValidation="false" xmlNamespaceAware="false">

    <Context path="/" docBase="/app/war/admin-portal" debug="0" reloadable="true"/>

</Host>

<Host name="sale.test.test" appBase="app/sale" uppackWARs="true" xmlValidation="false" xmlNamespaceAware="false">

<Context path="/" docBase="/app/war/sale-portal" debug="0" reloadable="true"/>

</Host>


<Host name="abc.test.test" appBase="app/abc" uppackWARs="true" xmlValidation="false" xmlNamespaceAware="false">

<Context path="/" docBase="/app/war/abc-portal" debug="0" reloadable="true"/>

</Host>

<Host name="cbd.test.test" appBase="app/cbd" uppackWARs="true" xmlValidation="false" xmlNamespaceAware="false">

<Context path="/" docBase="/app/biz-war/cbd-web" debug="0" reloadable="true"/>

</Host>

</Engine>

三、解释及注意

  name:需要访问的域名

  appBase:相当于webapps,每个host的appBase不能相同

  docBase:项目的war文件存放位置

 最后要在客户机hosts文件中配置ip对应的域名即可,如下:

10.2.23.22 biz-admin.test.test

10.2.23.22 sale.test.test

10.2.23.22 abc.test.test

10.2.23.22 cbd.test.test



访问时就可以使用cbd.test.test:8080来访问项目了,8080为tomcat端口号