一、场景:
使用一个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端口号