如何在 Linux 服务器上部署多个 Tomcat
开发管理项目时多多少少会遇到服务器不够用、一个项目分成多个子项目的情况,故研究了一下如何在一台服务器部署多个 Tomcat。
具体操作:
1、在 /tomcat/ 下部署多个 tomcat。

2、修改 /etc/profile 文件末尾,加入如下内容:
##########first tomcat###########
CATALINA_BASE=/tomcat/apache-tomcat-9.0.
CATALINA_HOME=/tomcat/apache-tomcat-9.0.
TOMCAT_HOME=/tomcat/apache-tomcat-9.0.
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
##########first tomcat########### ##########second tomcat##########
CATALINA2_BASE=/tomcat/apache-tomcat-9.0.1_2
CATALINA2_HOME=/tomcat/apache-tomcat-9.0.1_2
TOMCAT2_HOME=/tomcat/apache-tomcat-9.0.1_2
export CATALINA2_BASE CATALINA2_HOME TOMCAT2_HOME
##########second tomcat########## ##########third tomcat##########
CATALINA3_BASE=/tomcat/apache-tomcat-9.0.1_3
CATALINA3_HOME=/tomcat/apache-tomcat-9.0.1_3
TOMCAT3_HOME=/tomcat/apache-tomcat-9.0.1_3
export CATALINA3_BASE CATALINA3_HOME TOMCAT3_HOME
##########third tomcat##########
输入命令:source /etc/profile 使其生效。
3、进入第二、第三个 Tomcat 的 bin 目录修改 catalina.sh 文件。
第一个 Tomcat 无需更改,
第二个 Tomcat 将 catalina.sh 中的 CATALINA_BASE 和 CATALINA_HOME 批量替换成在 /etc/profile 中配置的第二个 tomcat 对应的信息,
即将 profile 中的 CATALINA_BASE 替换成 CATALINA2_BASE,CATALINA_HOME 替换成 CATALINA2_HOME;
vim catalina.sh
批量替换:
%s/CATALINA_BASE/CATALINA_2_BASE/g %s/CATALINA_HOME/CATALINA_2_HOME/g
第三个 Tomcat 把 CATALINA_BASE 替换成 CATALINA3_BASE,CATALINA_HOME 替换成 CATALINA3_HOME;
4、进入第二、第三个 tomcat 在 conf 下的 server.xml 中修改其的端口号:
第二个 Tomcat 修改为:
修改关闭端口:<Server port="8006" shutdown="SHUTDOWN" >
修改访问端口:<Connector port="" URIEncoding="UTF-8" redirectPort="" connectionTimeout="" protocal="HTTP/1.1">
修改监听端口:<Connector port="" protocol="AJP/1.3" redirectPort="">
第三个 Tomcat 修改为:
修改关闭端口:<Server port="8007" shutdown="SHUTDOWN" >
修改访问端口:<Connector port="8090" URIEncoding="UTF-8" redirectPort="8443" connectionTimeout="20000" protocal="HTTP/1.1">
修改监听端口:<Connector port="8011" protocol="AJP/1.3" redirectPort="8443">
5、最后,依次启动这多个 tomcat,输入命令:ps -ef |grep tomcat 查看进程。
成功,如下:

如何在 Linux 服务器上部署多个 Tomcat的更多相关文章
- 如何在Linux服务器上部署禅道
最近换了新的项目团队,由于新团队比较年轻化,没有实行正规的项目管理,于是我自告奋勇要为团队管理出一份力,帮助团队建立敏捷化的项目管理,经过多方考究和对比后,选择了目前较受欢迎的开源项目管理软件:禅道. ...
- 如何在Linux服务器上部署Mysql
一.安装mysql 1.通过文件上传工具,将mysql安装包上传到linux服务器上 2.卸载mariadb包,由于系统中存在mariadb包会导致mysql安装时报错mariadb-libs被mys ...
- 如何在linux服务器上使用hanlp
关于如何在linux服务器上使用hanlp也有分享过一篇,但分享的内容与湘笑的这篇还是不同的.此处分享一下湘笑的这篇hanlp在linux服务器上使用的文章,供新手朋友学习之用. 本文主要工作是在li ...
- 如何在同一台服务器上部署两个tomcat
因为测试的需要,有时我们必须在同一个服务器上部署两个tomcat,然后去做应用的部署,那么很多同学可能会觉得比较为难,找的资料也比较的不齐全,那么今天华华就来给大家讲讲如何部署2个tomcat,并能够 ...
- linux机器上部署多台Tomcat
在Linux机器上部署多台Tomcat, 我部署的是Tomcat8,只需要一步,即避免端口号冲突. 在解压后的tomcat目录下,修改conf下server.xml. 修改shutdown端口: &l ...
- linux服务器上部署项目,同时运行两个或多个tomcat
在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图), 但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知: 一台服务器提供两个端口,有两种方式: 1.一个t ...
- Django项目在Linux服务器上部署和躺过的坑
引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...
- linux服务器上部署jdk+tomcat+rocketmq+redis-cluster
通常我们拿到一组干净的linux服务器,需要初始化安装一些基础软件,这里一站式介绍部署jdk+tomcat+rocketmq+redis-cluster 前言:如果要在多台服务器上安装,在一台服务器上 ...
- 零基础在Linux服务器上部署javaweb项目
本教程使用的工具下载链接:http://pan.baidu.com/s/1sl1qz2P 密码:43pj 一.安装JDK 1.首先要查看服务器的系统版本,是32位还是64位 #getconf LONG ...
随机推荐
- python页面解析_beautifulsoup试玩
最近玩爬虫,先把python解析器 beautifulsoup 练练 这个 tainiu.html 是从百度网盘里拷贝一段html from bs4 importBeautifulSoup wit ...
- boost asio 学习(二)了解boost::bind
2.了解boost::bind使用boost::bind封装一个函数,考虑以下例子示例2a #include <iostream> #include <boost/bind.hpp& ...
- Java多线程系列1 线程创建以及状态切换
我们知道线程线程有三种创建方式 1实现Runnable接口 2 继承Thread类 3使用Callable和Future接口创建线程.具体是创建Callable接口的实现类,并实现clall()方法. ...
- MPLAB X IDE V4.15 创建工程,编译,问题处理
初步接触,有错误的地方还请大神们务必提出来,防止误导他人 硬件环境:MCU--PIC18F67K22 仿真下载器--ICD 3 编译环境:MPLAB X IDE V4.15 中文版 工作需要接触到了P ...
- 【转】最近用Timer踩了一个坑,分享一下避免别人继续踩
[转]最近用Timer踩了一个坑,分享一下避免别人继续踩 最近做一个小项目,项目中有一个定时服务,需要向对方定时发送数据,时间间隔是1.5s,然后就想到了用C#的Timer类,我们知道Timer 确实 ...
- MySQL安装及后续配置
rpm -qa | grep mysql 检查已安装的mysql版本 rpm -e --nodeps mysql-libs-5.1.71 卸载 tar -zxvf MySQL.tar.gz 解压 安 ...
- C++标准库之右值引用与交付语义
C++标准委员会不应该制定一条阻止程序员拿起枪朝自己的脚丫子开火的规则. 右值引用(rvalue).交付语义(move) 最近阅读<C++标准库第二版>,看到第二章介绍C++11新特性3. ...
- 别人的Linux私房菜(11)认识与学习BASH
Linux下使用BASH Bourne Again Shell 另外一种由用于Unix的伯克利大学的Bill Joy设计的C Shell 系统中合法的shell会写入到/etc/sh ...
- OpenCV图像分割1
1.基于阈值 1.1原理 灰度阈值化,假设输入图像为f,输出图像为g,则阈值化公式如下: g(i,j)=1 当f(i,j)>=T g(i,j)=0 当f(i,j)<T 1.2适用范围 当 ...
- ABP框架系列之八:(Introduction-介绍)
Introduction We are creating different applications based on different needs. But implementing commo ...