Linux 下启动两个tomcat

时间:2021-12-25 10:37:55

Linux 下启动两个tomcat

闲来无事学习nginx,想要配置个load balance。可是先决条件是:得有两个web容器。两个电脑是不用想了。只能想办法在一个机器上启动两个tomcat。原以为挺简单的,只要改改port就好了。谁知单单改port压根不会成功。网上找了很多解决方案,要么繁杂的要死,要么说的云里雾里的。于是决定结合网上的说法和自己的想法,重新写一个方案。

先说解决方案吧。(我用的是tomcat-7.0.62,安装的路径是/usr/local/apache-tomcat-7.0.62)

1.先把原来的tomcat复制一份,地址随便放,文件名随便取。我复制为 /usr/local/apache-tomcat-7.0.62-copy

2.修改/usr/local/apache-tomcat-7.0.62-copy/conf/server.xml,用意是不要让端口与原来的冲突了

  在此server.xml中一共有三个port,下面列出的是默认的设置。这三个端口都要修改。(我一开始的想法是只要简单的后面加个1,变成80051,80801,80091,反正只要端口最大不超过65535就行了。结果报什么端口out of range 错误。。。。。)好吧,那就分别改为8006,8081,8010好了

Linux 下启动两个tomcat
1 <!--这个好像是关闭的端口,具体作用不清楚-->
2 <Server port="8005" shutdown="SHUTDOWN">
3
4 <!--这个应该知道是什么端口吧-->
5 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000“ redirectPort="8443" />
6
7
8 <!--注释上说是什么AJP 1.3的连接端口,具体什么作用还是不清出-->
9 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Linux 下启动两个tomcat

3.在~/.bash_profile中添加下面两个。 

1 export CATALINA_BASE2=/usr/local/apache-tomcat-7.0.62-copy
2 export CATALINA_HOME2=/usr/local/apache-tomcat-7.0.62-copy

修改完成后用命令 source ~/.bash_profile使新配置的环境变量生效

 可以看到这两行的作用是添加环境变量,但是添加环境变量的方法并不只这一种。所以无论用什么方法,达到添加这两个环境变量的目的就行了。

4.修改/usr/local/apache-tomcat-7.0.62-copy//bin/catalina.sh, 在开头的位置添加下面绿色的两行。(差不多就是在catalina.sh开始的位置)

Linux 下启动两个tomcat
 1 # resolve links - $0 may be a softlink
2 PRG="$0"
3
4 while [ -h "$PRG" ]; do
5 ls=`ls -ld "$PRG"`
6 link=`expr "$ls" : '.*-> \(.*\)$'`
7 if expr "$link" : '/.*' > /dev/null; then
8 PRG="$link"
9 else
10 PRG=`dirname "$PRG"`/"$link"
11 fi
12 done
13
14 # Get standard environment variables
15 PRGDIR=`dirname "$PRG"`
16
17 # Only set CATALINA_HOME if not already set
18 [ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
19
20 # Copy CATALINA_BASE from CATALINA_HOME if not already set
21 [ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
22
23 CATALINA_HOME=$CATALINA_HOME2
24 CATALINA_BASE=$CATALINA_BASE2
Linux 下启动两个tomcat

5. 分别启动两个tomcat就好了。

好吧,下面的东西是我自己看catalina.sh的解释,与启动两个tomcat没有任何关系。

上面第四步的那一段代码的目的就是取得 CATALINA_HOME和CATALINA_BASE。

  一开始这一段是说如果sh是链接的话的处理方法。$0就是bash文件的名称。

Linux 下启动两个tomcat
 1 # resolve links - $0 may be a softlink
2 PRG="$0"
3
4 while [ -h "$PRG" ]; do
5 ls=`ls -ld "$PRG"`
6 link=`expr "$ls" : '.*-> \(.*\)$'`
7 if expr "$link" : '/.*' > /dev/null; then
8 PRG="$link"
9 else
10 PRG=`dirname "$PRG"`/"$link"
11 fi
12 done
Linux 下启动两个tomcat

下面有一句就是取得bash所在的文件夹。

1 # Get standard environment variables
2 PRGDIR=`dirname "$PRG"`

再下面注释写的很清楚了,如果我们配置了CATALINA_HOME的环境变量,那就什么都不干,如果没有配置,那就让变量CATALINE_HOME指向 PRGIDR的父目录,实际就是tomcat安装目录。

1 # Only set CATALINA_HOME if not already set
2 [ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
3
4 # Copy CATALINA_BASE from CATALINA_HOME if not already set
5 [ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"

我们的修改的意思是不管前面CATALINA_HOME和CATALINA_BASE设置为了什么,反正最后我一刀切,全设置为我想要的,即如下的代码

1 CATALINA_HOME=$CATALINA_HOME2
2 CATALINA_BASE=$CATALINA_BASE2

下面还有一个说明:

理论上来讲上面的配置就可以了。可是有一点小小的瑕疵:假设环境变量$CATALINA_HOME2和$CATALINA_BASE2是设在root用户下的,那么tomcat救只能用root用户启动了,别的用户根本启动不了。

并且,如果某个不知道catalina.sh已经被修改过的人复制apache-tomcat-7.0.62-copy到另外的地方,比如另一台服务器,他会发现tomcat启动不了了。。。其实catalina.sh这么写更好,即把绿色的那两行往前移一移就好了

Linux 下启动两个tomcat
 1 # resolve links - $0 may be a softlink
2 PRG="$0"
3
4 while [ -h "$PRG" ]; do
5 ls=`ls -ld "$PRG"`
6 link=`expr "$ls" : '.*-> \(.*\)$'`
7 if expr "$link" : '/.*' > /dev/null; then
8 PRG="$link"
9 else
10 PRG=`dirname "$PRG"`/"$link"
11 fi
12 done
13
14 # Get standard environment variables
15 PRGDIR=`dirname "$PRG"`
16
17 CATALINA_HOME=$CATALINA_HOME2
18 CATALINA_BASE=$CATALINA_BASE2
19
20 # Only set CATALINA_HOME if not already set
21 [ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
22
23 # Copy CATALINA_BASE from CATALINA_HOME if not already set
24 [ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
 

实验系统:CentOS 6.6_x86_64

实验前提:防火墙和selinux都关闭

实验软件:apache-tomcat-8.0.24  jdk-8u60-linux-x64  jeecms-v6

一、安装JAVA环境

1.安装JAVA:

wget http://download.Oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz
tar xf jdk-8u60-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
ln -sv jdk1.8.0_60 jdk

2.配置环境变量:

vim /etc/profile.d/jdk.sh
--------------------------------------------------->
JAVA_HOME=/usr/local/jdk
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
<---------------------------------------------------
. /etc/profile.d/jdk.sh        //重读此文件,让变量生效

3.查看JAVA是否安装成功:

java -version

Linux 下启动两个tomcat

二、安装tomcat

1.安装tomcat:

wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.24/bin/apache-tomcat-8.0.24.tar.gz
tar xf apache-tomcat-8.0.24.tar.gz -C /usr/local/
cd /usr/local/
ln -sv apache-tomcat-8.0.24 tomcat

2.配置环境变量:

vim /etc/profile.d/tomcat.sh
--------------------------------------------------->
CATALINA_BASE=/usr/local/tomcat
PATH=$CATALINA_BASE/bin:$PATH
export PATH CATALINA_BASE
<---------------------------------------------------
. /etc/profile.d/tomcat.sh

3.查看tomcat版本状态:

catalina.sh version

Linux 下启动两个tomcat

三、配置tomcat

1.配置server.xml:

vim /usr/local/tomcat/conf/server.xml
---------------------------------------------------------->
 <Connector port="80" protocol="HTTP/1.1"      //默认端口为8080,改为80
            connectionTimeout="20000"
            redirectPort="8443" />

2.tomcat有manager-gui的管理页面,想要使用必须配置管理用户,不使用可以跳过此步。配置tomcat-users.xml:

vim /usr/local/tomcat/conf/tomcat-users.xml
------------------------------------------------------------------------------->
<role rolename="manager-gui"/>                                        //指定用户可以使用的接口为manager-gui
<user username="tomcat" password="tomcat" roles="manager-gui"/>      //用户名和密码为tomcat,在manager-gui接口使用

3.创建测试页面:

mkdir -pv /usr/local/tomcat/webapps/test/WEB-INF/{classes,lib}
vim /usr/local/tomcat/webapps/test/index.jsp
--------------------------------------------------------------->
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
    <head>
        <title>test</title>
    </head>
    <body>
        <%
            out.println("Hello World!");      //嵌入java语言
        %>
    </body>
</html>

4.启动测试:

catalina.sh start

Linux 下启动两个tomcat

用浏览器打开http://192.168.19.74,并打开Manager App管理页面,用之前配置的用户名和密码进入:

Linux 下启动两个tomcat

进入管理界面,可以看到刚才创建的test已经装载了,点击进去,即可看到测试页面了。之前没有配置manager-gui的可以直接使用http://192.168.19.74/test打开:

Linux 下启动两个tomcat

Linux 下启动两个tomcat

四、拓展实验

1.可安装的JAVA程序很多,这里用JEECMS做演示,首先放入程序文件,程序可从http://www.jeecms.com下载:

unzip jeecmsv6.zip
mv ROOT/ /usr/local/tomcat/webapps/cms
catalina.sh stop
catalina.sh start

2.浏览器打开http://192.168.19.74/cms,进入安装页面:

Linux 下启动两个tomcat

    

3.写入相关参数,mysql的安装及使用这里不再写出:

Linux 下启动两个tomcat

4.重启tomcat服务并访问http://192.168.19.74/cms/jeeadmin/jeecms/index.do,用户名admin,密码password:

catalina.sh stop
catalina.sh start

Linux 下启动两个tomcat

至此,tomcat的简单配置演示完毕了,感谢大家的收看,谢谢!

RedHat Linux 5.5安装JDK+Tomcat并部署Java项目  http://www.linuxidc.com/Linux/2015-02/113528.htm

Tomcat权威指南(第二版)(中英高清PDF版+带书签)  http://www.linuxidc.com/Linux/2015-02/113062.htm

Tomcat 安全配置与性能优化 http://www.linuxidc.com/Linux/2015-02/113060.htm

Linux下使用Xshell查看Tomcat实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm

CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm

CentOS 6.5下安装Tomcat  http://www.linuxidc.com/Linux/2015-01/111415.htm

Tomcat 的详细介绍请点这里
Tomcat 的下载地址请点这里

Linux下同时启动两个Tomcat进行设置.

 

Linux版本:Linux version 2.6.32-431.11.2.el6.x86_64

Tomcat:apache-tomcat-6.0.41.tar.gz(官方下载)

解压tar.gz:tar -zxvf apache-tomcat-6.0.41.tar.gz 至相应的路径下,可解压至两个不同的路径或者相同的路径下不同的文件夹,不需要安装,直接部署程序即可。

接下来修改tomcat文件夹conf目录下的server.xml文件:

<Server port="8015" shutdown="SHUTDOWN">     默认为8005--》修改为8015

<!--APR library loader. Documentation at /docs/apr.html -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
  <Listener className="org.apache.catalina.core.JasperListener" />
  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

.........

<Connector port="8091" protocol="HTTP/1.1"    默认为8080--》修改为8091

connectionTimeout="20000" 
               redirectPort="8443" />

........

<Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />      默认为8009--》修改为8019

以上三处红色注明的部分修改,只需要两个文件中此三处不同,启动tomcat,成功。

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-08/122234.htm

centos6.5下配置多个tomcat

原创 2016年06月27日 09:35:45
  • 185

步骤如下: 
1)修改/etc/profile文件。添加一组java环境变量,和两组CATALINA环境变量(我没有进行此步骤的设置,可能因为我的Tomcat是免安装版的吧) 
记得修改完要使其生效,用命令:source /etc/profile

JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64 
PATH=JAVAHOME/bin:JAVAHOME/bin:PATH 
CLASSPATH=.:JAVAHOME/lib/dt.jar:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar 
export JAVA_HOME 
export PATH 
export CLASSPATH

第一个Tomcat

CATALINA_BASE=/opt/apache-tomcat-5.5.33 
CATALINA_HOME=/opt/apache-tomcat-5.5.33 
export CATALINA_BASE CATALINA_HOME

第二个Tomcat

CATALINA_2_BASE=/opt/apache-tomcat-7.0.56 
CATALINA_2_HOME=/opt/apache-tomcat-7.0.56 
export CATALINA_2_BASE CATALINA_2_HOME

第三个个Tomcat

CATALINA_3_BASE=/home/apache-tomcat-6.0.44 
CATALINA_3_HOME=/home/apache-tomcat-6.0.44 
export CATALINA_3_BASE CATALINA_3_HOME

第四个tomcat

CATALINA_4_BASE=/home/apache-tomcat-8.0.29 
CATALINA_4_HOME=/home/apache-tomcat-8.0.29 
export CATALINA_4_BASE CATALINA_4_HOME

第一个Tomcat路径

TOMCAT_HOME=/opt/apache-tomcat-5.5.33 
export TOMCAT_HOME

第二个Tomcat路径

TOMCAT_2_HOME=/opt/apache-tomcat-7.0.56 
export TOMCAT_2_HOME

第三个Tomcat路径

TOMCAT_3_HOME=/home/apache-tomcat-6.0.44 
export TOMCAT_3_HOME

第四个tomcat

TOMCAT_4_HOME=/home/apache-tomcat-8.0.29 
export TOMCAT_4_HOME

(2)把tomcat_2/conf下的server.xml打开,修改关闭端口与启动端口。这样就可以在linux下同时运行两个tomcat了。运行更多tomcat方法是一样的。

(3)主要要点就是tomcat启动的时候会去查找tomat 的根目录,而这是通过查询系统环境变量CATALINA_HOME 以及

CATALINA_BASE 来做到的,于是我们只需要设置这两个变量即可。 
现在我们把tomcat拷贝成2份,分别为 tomcat1 和 tomcat2,tomcat1 我们使用之前配置好的默认配置

(CATALINA_HOME 以及 CATALINA_BASE 均指向 tomca1 目录),但tomcat2 我们不能再使用系统上配置的这两个

变量了,那么我们就在 tomcat2的bin目录下面的 catalina.sh 临时修改设置 CATALINA_HOME 和 CATALINA_BASE

为tomcat2的根目录即可,如果再加tomcat 以此类推即可。

打开catalina.sh ,找到下面红字,在下面增加如下代码

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

myself : add

export CATALINA_BASE=CATALINA_2_BASE  
export CATALINA_HOME=CATALINA_2_BASE  export CATALINA_HOME=CATALINA_2_HOME

设置虚拟机参数

JAVA_OPTS=”-Xms512m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m”

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014600520/article/details/51766361
 
 

CentOS 系统下安装多个tomcat,占用不同的端口

原创 2017年05月19日 12:13:02
  • 466

1.安装tomcat,解压到指定的目录

2.修改环境变量:/etc/init.d/tomcat(这是我的,一般的都是/etc/profile)

3.加入以下代码(tomcat路径要配置自己实际的tomcat安装目录)
##########first tomcat###########
CATALINA_BASE=/usr/local/tomcat
CATALINA_HOME=/usr/local/tomcat
TOMCAT_HOME=/usr/local/tomcat
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
##########first tomcat############
##########second tomcat##########
CATALINA_2_BASE=/usr/local/tomcat_2
CATALINA_2_HOME=/usr/local/tomcat_2
TOMCAT_2_HOME=/usr/local/tomcat_2
export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME
####################

4.保存退出。
5.再输入:source /etc/profilecond tomcat在生效

6.第一个tomcat,保持解压后的原状不用修改,

来到第二个tomcat的bin目录下打开catalina.sh ,找到下面红字,

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

在下面增加如下代码

export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME

7.来到第二个tomcat的conf目录下
打开server.xml更改端口:

修改server.xml配置和第一个不同的启动、关闭监听端口。
修改后示例如下:
  <Server port="9005" shutdown="SHUTDOWN">                端口:8005->9005
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector port="9080" maxHttpHeaderSize="8192"        端口:8080->9080
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="9009"                                  端口:8009->9009
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

8.分别进入两个tomcat的bin目录,启动tomcat--./startup.sh

9.然后访问http://localhost:8080 和 http://localhost:9080 都可以看到熟悉的tomcat欢迎界面

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/birduncle/article/details/72524473

Linux 下启动两个tomcat的更多相关文章

  1. linux下启动和关闭tomcat服务的方式

    Linux下tomcat服务的启动.关闭与错误跟踪,通常通过以下几种方式启动关闭tomcat服务: 切换到tomcat主目录下的bin目录 启动tomcat服务 生产模式: 方式一:直接启动 ./st ...

  2. linux下启动、停止tomcat,杀死tomcat进程

    1.打开终端 cd /java/tomcat 2.执行 bin/startup.sh #启动tomcat bin/shutdown.sh #停止tomcat tail -f logs/catalina ...

  3. 转:Linux下同时启动两个Tomcat进行设置

    转: Linux下同时启动两个Tomcat进行设置 解压tar.gz:tar -zxvf apache-tomcat-6.0.41.tar.gz 至相应的路径下,可解压至两个不同的路径或者相同的路径下 ...

  4. Linux下配置两个或多个Tomcat启动

    Linux下配置两个或多个Tomcat启动 (2012-08-14 11:59:31) 转载▼ 标签: 杂谈 分类: linux_tomcat 步骤如下: (1)修改/etc/profile文件.添加 ...

  5. linux 启动两个tomcat

    按照下面的步骤操作即可部署成功:一些具体操作命令就不详细说了,直接说有用的:1.在 /usr/local 下部署两个Tomcat,tomcat的文件夹重命名为:tomcat6-1  .  tomcat ...

  6. Linux下启动Tomcat项目

    在Linux下启动Tomcat项目方法:将war包放进Tomcat的wabapp目录下,进入tomcat目中的bin目录中,运行命令./startup.sh 回车就可以了

  7. 解决Linux下启动Tomcat遇到Neither the JAVA&lowbar;HOME &period;&period;&period;报错

    解决Linux下启动Tomcat遇到Neither the JAVA_HOME ...报错 Neither the JAVA_HOME nor the JRE_HOME environment var ...

  8. linux 下启动tomcat 时没有执行权限

    原因: 没有权限 解决 : chmod 777 *.sh Linux下启动tomcat

  9. Linux下部署多个Tomcat(完整)

    Linux下部署多个Tomcat 1.环境:1.1.Centos 5.01.2.apache-tomcat-6.0.18 2.需要解决一下几个问题2.1.不同的tomcat启动和关闭监听不同的端口2. ...

随机推荐

  1. angular &dollar;scope对象

    $scope是一个pojo对象 $scope提供了一些工具方法.例如:$watch() $apply(),一般不会手工去调用 $scope是表达式的执行环境也叫作用域 $scope是一个树形结构,与D ...

  2. URLDecoder与URLEncoder

    网页中的表单使用POST方法提交时,数据内容的类型是 application/x-www-form-urlencoded,这种类型会: 1.字符"a"-"z", ...

  3. 蓝牙1&period;1、蓝牙1&period;2、蓝牙2&period;0(蓝牙2&period;0&plus;EDR)区别

    蓝牙1.2版本相对于1.1版本: 1.Adaptive Frequency Hopping(AFH):即所谓适应性跳频技术,主要的功能是用来减少蓝牙产品与其它无线通讯装置之间所产生的干扰问题 2.Ex ...

  4. Git 入门篇

    什么是Git   Git是Linux发明者Linus开发的一款新时代的版本控制系统. Git安装 Mac:https://sourceforge.net/projects/git-osx-instal ...

  5. 常用css样式颜色值: 64位真彩和256位值

    1. background-color: #eee; 2. background-color: #797979; 3. background-color: #007aff; 继续更新中

  6. H5&lowbar;0004:JS设置循环debugger的方法

    在HTML页面加上如下代码,则PC打开控制台后,就会循环debugger,防止调试代码. <script>eval(function (p, a, c, k, e, r) { e = fu ...

  7. 51nod 1443 路径和树(最短路树)

    题目链接:路径和树 题意:给定无向带权连通图,求从u开始边权和最小的最短路树,输出最小边权和. 题解:构造出最短路树,把存留下来的边权全部加起来.(跑dijkstra的时候松弛加上$ < $变成 ...

  8. 自动创建表出错 type&equals;InnDB

    因为type=InnoDB在5.0以前是可以使用的,但5.1之后就不行了 只需要修改配置: hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDia ...

  9. NOI导刊2009 提高一

    zzh大佬给我说导刊的题全是普及难度,然而我..觉得有两道题是提高的 LocalMaxima 题目解析 对于\(i\)这个数,它要想成为LocalMaxima,比它大的要全部放到最后去,比它小的想怎么 ...

  10. xtrabackup备份方式搭建一个mysql slave

    以前mysql搭建新备库都是在现在业务较小的备库上停止同步或停止数据库,然后拷贝数据库到新备库,配置好新备库后,再开启同步或数据库.然而,这次没有空闲备库用来搭新备库.需要从一个业务繁忙的数据库中搭建 ...