tomcat 中 修改 配置 文件 实现 多域名访问

Linux服务器 Centos 7 中部署 Tomcat ,多域名访问

前言

同一个Tomcat中发布了多个项目,每个项目分别绑定不同的域名。那就需要在Tomcat中配置多域名,添加多个虚拟主机<HOST></HOST>,一个虚拟主机代表一个域名。

tomcat服务器的默认访问路径是webapps目录下的ROOT。如果更改tomcat服务器下的默认访问工程,需要修改tomcat/conf/server.xml配置文件。

相关准备

  1. Tomcat正常访问发布的项目 ,需要在url后面加项目名www.abc.com:8080/aaa ,如果要通过ip访问不加项目名,修改配置文件 conf/server.xml ,docBase指向webapps中的项目,webapps文件中有myTest项目。
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">`
 <!-- 配置默认访问的项目,配置这里后可以免项目名访问,只需要域名即可 -->
 <Context path="/" docbase="/usr/local/tomcat/webapps/myTest" crosscontext="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" />	
 </Host>

appBase:表示这个目录下面的子目录将自动被部署为应用;
name为访问项目的默认域名;
unpackWARs:如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序;
autoDeploy: 显式设置autoDeploy为False。避免了在server.xml中增加Context配置时两次部署相同的Web应用程序;
deployOnStartup:如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下所有的Web应用.如果Web应用 中的server.xml没有相应的<Context>元素,将采用Tomcat默认的Context
reloadable:如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序;
docBase可以是相对路径和绝对路径;
path: 路径名默认是"";
crosscontext:则可以实现在同一个tomcat下的多个web应用之间实现ServletContext对象访问。该属性主要用于跨应用访问数据,该特性只适用于多个应用程序部署在同一个tomcat下的情形;
Context: 即 Web 应用程序,一个 Context 对应一个 Web 应用程序。

如果不想通过8080端口访问,直接通过80端口,实现ip地址访问,在conf/server.xml中,把8080端口改成80端口即可

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

重启Tomcat,就可以直接通过地址访问,不需要在地址栏中输入端口和项目名

  1. 在百度云服务器中将申请好的域名,解析成对应的IP地址
    在这里插入图片描述
    在这里插入图片描述

修改配置: Tomcat的conf/server.xml文件 绑定多域名

在里面添加多个<Host></Host>标签,如下

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

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="webapps"
            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" />	
      </Host>
   <Host name="bbb.cn"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Context docBase="/usr/local/tomcat/apache-tomcat-8.5.56/webapps/bbb/" path="" reloadable="true" debug="0" crosscontext="true"/>
   </Host>
 <Host name="ccc.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Context docBase="/usr/local/tomcat/apache-tomcat-8.5.56/webapps/ccc/" path="" reloadable="true" debug="0" crosscontext="true"/>
   </Host>
    </Engine>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值