美文网首页
tomcat单机多实例配置部署

tomcat单机多实例配置部署

作者: fulj | 来源:发表于2018-11-25 00:08 被阅读0次

Introduction

那么直接上问题,当你有很多应用要部署在同一个服务器上,你会用什么方式部署Tomcat?
通常,我们在同一台服务器上对 Tomcat 部署需求可以分为以下几种:单实例单应用,单实例多应用,多实例单应用,多实例多应用。实例的概念可以理解为上面说的一个 Tomcat 目录。

  • 单实例单应用:比较常用的一种方式,只需要把你打好的 war 包丢在 webapps目录下,执行启动 Tomcat 的脚本就行了。

  • 单实例多应用:有两个不同的 Web 项目 war 包,还是只需要丢在webapps目录下,执行启动 Tomcat 的脚本,访问不同项目加上不同的虚拟目录。这种方式要慎用在生产环境,因为重启或挂掉 Tomcat 后会影响另外一个应用的访问。

  • 多实例单应用:多个 Tomcat 部署同一个项目,端口号不同,可以利用 Nginx 这么做负载均衡,当然意义不大。

  • 多实例多应用:多个 Tomcat 部署多个不同的项目。这种模式在服务器资源有限,或者对服务器要求并不是很高的情况下,可以实现多个不同项目部署在同一台服务器上的需求,来实现资源使用的最大化。-
    这次其实要说的就是这种方式,但多个 Tomcat 就是简单的复制出一个新的 Tomcat 目录后改一下端口么?这样做也太 Low 了点吧?哈哈,其实并不是低端没技术含量的问题,当你同一台服务器部署了多个不同基于 Tomcat 的 Web 服务时,会迎来下面几个极其现实的问题。

  • 当你需要对数十台 Tomcat 版本进行升级的时候,你需要怎么做?

  • 当你需要针对每一个不同的 Web 服务分配不用的内存时,你需要怎么做?

  • 当你需要启动多台服务器时,你需要怎么做?
    当然,好像上面的都不是很重要,注意,划重点,多实例部署最大作用就是最大化利用服务器资源。

Let's do it

  1. 下载tomcat
wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat-8.5.35.tar.gz
  1. 解压
tar -xf apache-tomcat-8.5.35.tar.gz
  1. 创建实例
  • 新建实例目录作为CATALINA_BASE
mkdir tomcat-1 tomcat-2
  • apache-tomcat-8.5.35目录下的bin conf logs temp webapps work 属于实例的目录移动过去
mv bin conf logs temp webapps work -t ../tomcat-1
cp tomcat-1/* tomcat-2
  1. 修改端口
    Server Port
    Connector Port
    AJP Port
    Redirect Port 这个不用改
  2. 启动脚本
    实例目录下创建bin目录放start.sh
    start.sh:
#!/bin/bash
export CATALINA_HOME="/usr/local/tomcat/apache-tomcat-8.5.35"
export CATALINA_BASE="/usr/local/tomcat/tomcat-1"
export CATALINA_TMPDIR="$CATALINA_BASE/temp"
export CATALINA_PID="$CATALINA_BASE/bin/tomcat.pid"
export JAVA_OPTS="-server -Xms1024m -Xmx1024m -Djava.awt.headless=true -Dtomcat.name=tomcat1"

#创建logs目录
if [ ! -d "$CATALINA_BASE/logs" ]; then
  mkdir $CATALINA_BASE/logs
fi

#创建temp目录
if [ ! -d "$CATALINA_BASE/temp" ]; then
  mkdir $CATALINA_BASE/temp
fi

# 调用tomcat启动脚本
bash $CATALINA_HOME/bin/startup.sh "$@"
  1. 效果
    两个实例中的webapps目录下的ROOT目录分别加入index.html
<html>
<title>Tomcat-1</title>
<body>
    Hello DUDE! This is Tomcat-1.
</body>
</html>

分别启动两个实例中的start.sh脚本


实例1.png
实例2.png

相关文章

  • Tomcat 安装及其单机多实例部署

    Tomcat 安装及其单机多实例部署

  • tomcat单机多实例配置部署

    Introduction 那么直接上问题,当你有很多应用要部署在同一个服务器上,你会用什么方式部署Tomcat?通...

  • tomcat单机多实例部署

    Tomcat: HTTP与AJP区别 Tomcat服务器通过Connector连接器组件与客户程序建立连接,Con...

  • Tomcat单机多实例配置

    1.配置好第一个tomcat实例 配置好Java环境变量 第一个tomcat实例只需要更改展示页面,用来区分各个实...

  • Centos配置单机多实例Tomcat

    以配置两个tomcat为例 将下载的tomcat压缩包解压两份,分别起不同的名字,放在同一个文件夹下面。 配置系统...

  • Tomcat多实例单应用部署方案

    一、Tomcat部署的场景分析 通常,我们对tomcat部署需求可以分为几种:单实例单应用,单实例多应用,多实例单...

  • 2.Tomcat集群、Nginx负载均衡

    Tomcat集群包括单机多部署应用和多机单部署应用两种,在本文当中使用的是单机多部署的方式。多机部署正常部署即可,...

  • 开启ES之旅

    目录: 单机部署多实例 创建索引 查询 分析

  • Tomcat单机多实例

    Tomcat官网官网多实例配置说明1、 官网下载 Tomcat 解压版。 目录结构:bin (运行脚本)conf ...

  • Linux配置Tomcat的单机多实例

    有时候需要在一个服务器上部署多个Tomcat,通过不同的端口进行区分,比如,反向代理。但是不想简单的通过复制Tom...

网友评论

      本文标题:tomcat单机多实例配置部署

      本文链接:https://www.haomeiwen.com/subject/cfsuqqtx.html