先强调一个原则:

server下面可以有多个service,用于配置不同监听端口

service下面可以有多个Host,用于配置该端口下的不同域名

Host里可以包含多个Context,用于配置该端口该域名下的不同虚拟目录

 
 

生产环境可能遇到的要求

1.一个tomcat 上跑一个项目,需要开启多个监听端口,同时访问一个服务

<Connector port="" protocol="HTTP/1.1"
connectionTimeout=""
redirectPort="" />
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

这样就实现了 通过 8080 和 8081 两个端口 访问同一个项目

2. 一个tomcat 上跑两个项目,需要开启两个监听端口,分别访问两个服务

<Service name="catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout=""
redirectPort="" URIEncoding="UTF-8"/>
<Engine name="catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service> <Service name="catalina2">
<Connector port="" protocol="HTTP/1.1"
connectionTimeout=""
redirectPort="" URIEncoding="UTF-8"/>
<Engine name="catalina2" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps2"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>

这样访问 8080端口就到 webapps里的项目,访问8091 就到webapps2里的项目

3. 启动两个tomcat 跑两个项目,需要开启两个监听端口,分别访问两个tomcat

第一个tomcat

<Server port="" shutdown="SHUTDOWN">

  <Connector port="" protocol="HTTP/1.1"

第二个tomcat

<Server port="8015" shutdown="SHUTDOWN">
  <Connector port="" protocol="HTTP/1.1"

第二个tomcat要修改两个端口地址;

一定要注意修改 shutdown的端口,否则第二个tomcat启动会报错

4.使用域名访问

首先将 域名  test.xxx.com  解析到 tomcat服务器的IP地址上 10.11.0.47

访问  10.11.0.47:8080     成功
访问  test.xxx.com:8080   成功

修改端口地址为80

 <Connector port="" protocol="HTTP/1.1"

访问  10.11.0.47     成功
访问  test.xxx.com   成功

把域名和项目绑定

 <Host name="test.xxx.com"  appBase="webapps"
unpackWARs="true" autoDeploy="true">

这样通过域名可以访问我们在webapps里的项目了

访问  10.11.0.47/android/index.jsp       成功
访问  test.xxx.com/android/index.jsp     成功
访问  test.xxx.com/java/index.jsp          成功

多域名分别对应多个项目

<Service name="catalina">
<Connector port="" protocol="HTTP/1.1"
connectionTimeout=""
redirectPort="" URIEncoding="UTF-8"/>
<Engine name="catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="test.xxx.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
     <Host name="test2.xxx.com"  appBase="webapps2"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
   </Engine>
</Service>
域名 test.xxx.com  访问的是webapps中的项目
域名 test2.xxx.com 访问的是webapps2中的项目

tomcat 多端口 多容器 多域名 配置的更多相关文章

  1. 180602-nginx多域名配置

    文章链接:https://liuyueyi.github.io/hexblog/2018/06/02/180602-nginx多域名配置/ nginx多域名配置 原来的域名过期了,重新买了一个hhui ...

  2. tomcat通过一个端口号实现多域名访问

    最近在一个项目中遇到这样的一个场景,在一台服务器一个tomcat一个端口配置多个域名.没想到解决方法这么简单,通过虚拟目录来实现. 修改tomcat安装路径下/conf下的server.xml vim ...

  3. tomcat多域名配置(转)

    TOMCAT的域名配置 现在很多的公司的网站都是用tomcat作为应用服务区的,可是对于初学者,8080端口号是如何去掉的,这些网站是如何和域名绑定到一起的呢?一个 tomcat是如何绑定多域名?并且 ...

  4. Tomcat服务器端口的配置

    一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...

  5. LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置(DR模式,一个VIP,多个端口)

    一.概述 LVS作用:实现负载均衡 Keepalived作用:监控集群系统中各个服务节点的状态,HA cluster. 配置LVS有两种方式: 1. 通过ipvsadm命令行方式配置 2. 通过Red ...

  6. Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口

    Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口 >>>>>>>>>& ...

  7. nginx+tomcat单个域名及多个域名配置

    同步首发:http://www.yuanrengu.com/index.php/20171130.html 项目开发接近尾声,开始着手在生产环境部署项目,开发阶段部署项目都没用nginx.项目是采用S ...

  8. Tomcat服务器多域名配置(转载)

    Tomcat服务器多域名配置 我们来讲解下如何在Tomcat服务器上进行多域名配置: 也就是一个Tomcat跑多网站,这里用真实案例举例,比如我这个云主机需要运行两个网站: pan.java1234. ...

  9. Tomcat部署多个项目及相关配置

    1.配置多个项目 在tomcat的conf目录下,找到server.xml,在其中添加<Host>节点即可进行多个项目的部署 <Host name="localhost&q ...

随机推荐

  1. NPOI导出Excel生成多个sheet

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  2. 关于neo4j初入门(4)

    关于admin管理员 数据库备份和恢复 Neo4j数据库备份 步骤1 -点击“Neo4j Community”,如下图所示 Windows“开始”按钮>> "All Progra ...

  3. 【python系统学习06】一张图看懂列表并学会操作

    点击跳转-原文地址 数据类型 - 列表(list) 「目录:」 一张图了解列表 列表是什么 列表长啥样 语法格式 代码示例 格式特征 列表定义 列表操作 - 提取单个:偏移量 什么是偏移量 偏移量提取 ...

  4. Bootstrap File Input 的使用

    由于工作需要使用Bootstrap的FileInput插件,在此分享下插件的使用方法 直接上代码 fileinput.html <!DOCTYPE html> <html> & ...

  5. .net core 3.1 DbFirst mysql

    这是一套完全配置正确的方式 创建项目此步骤省略 打开nuget 搜索 Pomelo.EntityFrameworkCore.MySql 添加完毕该引用之后nuget 搜索 Microsoft.Enti ...

  6. 玩转Django2.0---Django笔记建站基础九(二)(Auth认证系统)

    9.4 设置用户权限 用户权限主要是对不同的用户设置不同的功能使用权限,而每个功能主要以模型来划分.以9.3节的MyDjango项目为例,在Admin后台管理系统可以查看并设置用户权限,如下图: 用户 ...

  7. 深入NodeJS模块os - 与操作系统“打交道”

    读了 os 模块的文档,研究了几个有意思的问题:

  8. Ogre 的Node 位移、旋转

    位移旋转有三种方式TS_LOCAL,TS_PARENT,TS_WORLD. TS_LOCAL是指自身坐标系,TS_PARENT是父节点坐标系,TS_WORLD是世界坐标系 比如  translate( ...

  9. Linux网络文件共享服务之smaba

    一.SAMBA服务简介 samba是1991年由Andrew Tridgel开发实现,主要用于Windows和unix文件共享.samba实现了共享文件和打印,实现在线编辑,登录SAMBA用户的身份认 ...

  10. python3.6的安装及cx_oracle安装

    一.创建所需目录mkdir -p /home/用户名/software/python3.6.1mkdir -p /home/用户名/priv/bydmkdir -p /home/用户名/priv/by ...