开发管理项目时多多少少会遇到服务器不够用、一个项目分成多个子项目的情况,故研究了一下如何在一台服务器部署多个 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的更多相关文章

  1. 如何在Linux服务器上部署禅道

    最近换了新的项目团队,由于新团队比较年轻化,没有实行正规的项目管理,于是我自告奋勇要为团队管理出一份力,帮助团队建立敏捷化的项目管理,经过多方考究和对比后,选择了目前较受欢迎的开源项目管理软件:禅道. ...

  2. 如何在Linux服务器上部署Mysql

    一.安装mysql 1.通过文件上传工具,将mysql安装包上传到linux服务器上 2.卸载mariadb包,由于系统中存在mariadb包会导致mysql安装时报错mariadb-libs被mys ...

  3. 如何在linux服务器上使用hanlp

    关于如何在linux服务器上使用hanlp也有分享过一篇,但分享的内容与湘笑的这篇还是不同的.此处分享一下湘笑的这篇hanlp在linux服务器上使用的文章,供新手朋友学习之用. 本文主要工作是在li ...

  4. 如何在同一台服务器上部署两个tomcat

    因为测试的需要,有时我们必须在同一个服务器上部署两个tomcat,然后去做应用的部署,那么很多同学可能会觉得比较为难,找的资料也比较的不齐全,那么今天华华就来给大家讲讲如何部署2个tomcat,并能够 ...

  5. linux机器上部署多台Tomcat

    在Linux机器上部署多台Tomcat, 我部署的是Tomcat8,只需要一步,即避免端口号冲突. 在解压后的tomcat目录下,修改conf下server.xml. 修改shutdown端口: &l ...

  6. linux服务器上部署项目,同时运行两个或多个tomcat

    在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图), 但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知: 一台服务器提供两个端口,有两种方式: 1.一个t ...

  7. Django项目在Linux服务器上部署和躺过的坑

    引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...

  8. linux服务器上部署jdk+tomcat+rocketmq+redis-cluster

    通常我们拿到一组干净的linux服务器,需要初始化安装一些基础软件,这里一站式介绍部署jdk+tomcat+rocketmq+redis-cluster 前言:如果要在多台服务器上安装,在一台服务器上 ...

  9. 零基础在Linux服务器上部署javaweb项目

    本教程使用的工具下载链接:http://pan.baidu.com/s/1sl1qz2P 密码:43pj 一.安装JDK 1.首先要查看服务器的系统版本,是32位还是64位 #getconf LONG ...

随机推荐

  1. 15. pk-mext

    在平时的生产环境中,我们经常会碰到监控MySQL的各个状态值的一个变化趋势,然后就会自己写个脚本,将status快照保存到文本中.当我们去分析的时候,需要自己去比较差值,是一件比较麻烦的时候,虽然可以 ...

  2. 使用PreparedStatement向数据表中插入、修改、删除、获取Blob类型的数据

    使用PreparedStatement向数据表中插入.修改.删除.获取Blob类型的数据 2014-09-07 20:17 Blob介绍 BLOB类型的字段用于存储二进制数据 MySQL中,BLOB是 ...

  3. SpringBoot编写自定义Starter

    根据SpringBoot的Starter编写规则,需要编写xxxStarter依赖xxxAutoConfigurer,xxxStarter是一个空的jar,仅提供辅助性的依赖管理,引入其他类库 1.建 ...

  4. ActiveMQ_7JMX

    activemq配置jmx 配置activemq中的jmx可以用于监控activemq信息. activemq.xml配置 修改broker属性 添加节点managementContext <m ...

  5. 服务器被minerd

    cd /opt chmod -x minerd 去/root/.ssh 目录下,清除authorized_keys,KHK75NEOiq 文件 在ssh的配置文件/etc/ssh/sshd_confi ...

  6. pycharm 如何进行全部搜索

    界面里面先按ctrl F 弹出搜索页面 在搜索框内连续按两次shift shift可以搜索全文

  7. spass按位置编码,进行排序题处理与分析

    本范例即需建立Q4_1至Q4_4 等四个变项, 各变量的数值则是排序的内容,共有0.1.2.3.4 等五种可能,0代表该选项没有被受测者选取,1.2.3.4分别代表被受测者指为第一至第四顺位. htt ...

  8. day12_雷神_线程总结

    #线程 1. 多线程理论 0.进程只是一个资源单位,用来隔离资源,从执行角度是主线程. 1.多个线程共享一个进程的数据资源: 2.线程开销小: 2. 开线程的两种方式 0. 站在资源的角度,主进程:执 ...

  9. gdb调试多进程多线程程序

    一.调试的指令 1.list命令 list linenum 显示程序第linenum行的周围的程序 list function 显示程序名为function的函数的源程序 list 显示当前行后面的源 ...

  10. 有关C++模板inline的高性能在lambda与function的体现

    前两天在群里跟人讨论到写库时对于lambda和function的取舍,跑了写测试查了些资料后基本得出结论: 如果没有自由变量的情况下,一般不要用function. 如果有自由变量的话,C++中的lam ...