如题,多个项目部署在一台服务器。减少容错性,觉得分开部署,这样一个tomcat挂了不会影响另一个项目。看配置和应用大小决定数量,一般四五个没问题,也有单台服务器部署8个tomcat稳定运行的。

下面记录方法

1. 修改/etc/profile文件

需要在文件中添加多组CATALINA环境变量(有几个tomcat就添加几组)后面的地址为tomcat实际安装的地址。


####第一个Tomcat####
export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-8.5.2
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.2
export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-8.5.2 ####第二个Tomcat####
export CATALINA_2_BASE=/usr/local/tomcat2/apache-tomcat-8.5.4
export CATALINA_2_HOME=/usr/local/tomcat2/apache-tomcat-8.5.4
export TOMCAT__2_HOME=/usr/local/tomcat2/apache-tomcat-8.5.4

如果有多个tomcat,方法一样,继续往下添加即可。

记得修改完要用source /etc/profile使其生效。

source /etc/profile

2. 修改其他tomcat(除了第一个tomcat)根目录bin下的catalina.sh文件

具体操作是切换到tomcat2的bin目录下,vim catalina.sh,找到下面的注释代码。startup.sh其实就是调用catalina.sh

# OS specific support. $var _must_ be set to either true or false.

并在上述代码下面添加以下代码,目的是为了tomcat2启动的时候能通过该文件的里的$CATALINA_2_BASE 和 $CATALINA_2_HOME找到/etc/profile配置文件里我们前一步配好的具体路径,完成tomcat2的启动过程。

export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME

如果有多个tomcat,修改方法是一样的。

修改shutdown.sh操作方法一样的。

3. 修改端口号

除了第一个tomcat使用的默认配置好的端口号(如果有需要也可以修改),后面添加的tomcat都要通过其根目录下的conf目录下的server.xml文件来修改端口号防止端口冲突。

http访问端口(默认为8080端口):改为8180

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

监听tomcat关闭的端口(默认为8005):改为8105

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

负责接收其他http服务器的请求端口(默认为8009):改为8109

<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />

修改完端口之后,要重启tomcat,并且在防火墙和安全组里也要开放以上端口。

一台服务器部署多台tomcat的更多相关文章

  1. 同一台服务器部署三个Tomcat

    工具 apache-tomcat-8.0.30 安装tomcat步骤           1. 下载apache-tomcat-8.0.30 ,下载下来的文件为apache-tomcat-8.0.30 ...

  2. 一台服务器部署多个tomcat

    bin 目录下两文件 catalina.sh.startup.sh conf  目录下一个文件 server.xml

  3. Window下同一台服务器部署多个tomcat服务简易教程

    第一步:解压两份tomact 分别为tomactserver01和tomactserver02文件夹 第二.配置tomact的环境变量 分别为 第三步:分别修改tomact的bin目录下的catali ...

  4. Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点

    上一篇分享了 Nginx + Tomcat 反向代理 负载均衡 集群 部署指南,感觉还是相当实用型的,但是一般集群部署是基于大访问量的,可能有的企业用不到,类似一些企业官网,访问量并不是很大,基于这个 ...

  5. [Tomcat]如何在同一台机部署多个tomcat服务

    背景:往往不知情的同学在同一台机器上部署多个tomcat会发现第二个tomcat启动会报错.而有些同学会想到可能是端口重复,然而,在server.xml改了端口还是发现不行.其实要想实现同一台机器部署 ...

  6. CentOS7系统 ansible自动化部署多台服务器部署

    CentOS7系统 ansible自动化部署多台服务器部署   Ansible工作机制  从图中可以看出ansible分为以下几个部份: 1> Control Node:控制机器2> In ...

  7. 关于一台机器部署多个tomcat的小记

    一台机器部署多个tomcat在很多时候都是有可能的,比如说多个tomcat配合nginx负载更可能好的利用CPU,或者更新程序时做主备切换等. 1.直接下载或者复制一个已有的tomcat,第一个tom ...

  8. 同一服务器部署多个tomcat时的端口号修改详情

    同一服务器部署多个tomcat时,存在端口号冲突的问题,所以需要修改tomcat配置文件server.xml,以tomcat7为例. 首先了解下tomcat的几个主要端口: <Connector ...

  9. (转)同一服务器部署多个tomcat时的端口号修改详情

    背景:在同一个服务器上部署工程,总会遇到tomcat端口占用的情况,所有有必要分清楚各个端口的作用,和需要更改的端口. 同一服务器部署多个tomcat时,存在端口号冲突的问题,所以需要修改tomcat ...

随机推荐

  1. P2149 [SDOI2009]Elaxia的路线[最长公共路径]

    题目描述 最近,Elaxia和w**的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们 必须合理地安排两个人在一起的时间. Elaxia和w**每天都要奔波于宿舍和实验室之间,他们 希望在 ...

  2. LG5325 【模板】Min_25筛

    P5325 [模板]Min_25筛 题目背景 模板题,无背景. 题目描述 定义积性函数$f(x)$,且$f(p^k)=p^k(p^k-1)$($p$是一个质数),求 $$\sum_{i=1}^n f( ...

  3. 倒水问题UVA 10603——隐式图&&Dijkstra

    题目 给你三个容量分别为 $a,b,c$ 的杯子,最初只有第3个杯子装满了水,其他两个杯子为空.最少需要到多少水才能让一个某个杯子中的水有 $d$ 升呢?如果无法做到恰好 $d$ 升,就让某个杯子里的 ...

  4. learning java AWT 布局管理器CardLayout

    import javax.swing.*; import java.awt.*; import java.awt.event.ActionListener; public class CardLayo ...

  5. 在运维中的shell经验总结

    来自良许Linux公众号 编写 脚本开头部分应有脚本功能说明.参数使用说明.作者姓名.创建/修改日期.版本信息,格式为: 脚本编写时,注意格式对齐,如所有的循环或者判断语句前后的语句进行对齐,以及ca ...

  6. arm 环境下安装selenium+chrome

    1.  升级软件 apt-get update 2. 安装pip apt-get install python3-pip 3. 安装selenium pip3 install selenium .4. ...

  7. 力扣50题 Pow(x,n)

    本题是力扣网第50题. 实现 pow(x, n) ,即计算 x 的 n 次幂函数. 采用递归和非递归思路python实现. class Solution: #递归思路 def myPow_recurs ...

  8. [系统]win10远程桌面其他电脑出现如下错误,由于数据加密错误,这个会话讲结束,请重新连接到远程计算机

    win10远程桌面其他电脑出现如下错误,由于数据加密错误,这个会话讲结束,请重新连接到远程计算机 这可能是由于credssp加密oracle修正的错误 HKEY_LOCAL_MACHINE\SOFTW ...

  9. PHP rtrim() 函数

    code <!DOCTYPE html> <html> <body> <?php $str = "Hello World!"; echo ...

  10. Leetcode32. 最长有效括号

    32. 最长有效括号 做法 \(f_{i}\)以\(i\)结尾的最长匹配 前提为\(s[i]=')'\) \(s[i-1]='('\),则\(f[i]=f[i-2]+2\) \(s[i-1]=')'\ ...