原创

linux上如何运行两个tomcat

记录一下在linux上运行第二个tomcat步骤:
一台服务器提供两个端口,有两种方式:
1、一个tomcat,开放两个端口;
2、两个tomcat,各运行一个项目,提供两个端口。
后者性能更好一些。于是,就查询实现linux服务器上同时运行两个或多个tomcat的方式,下面以同时运行两个tomcat为例介绍,具体实现如下:

第一步:搭建JDK环境

首先搭建JDK环境,下载JDK,然后解压,如:tar -zvxf jdk-6u18-ea-bin-b01-linux-i586-20.gz(JDK压缩包)
解压后,配置环境变量。
linux中,环境变量是在 /etc/profile 中修改文件。
如:

vi /etc/profile

进入文件后,按 ‘ i ’ 键,进入编辑状态;
//在最末尾添加,注意,其中的‘:’是冒号,不是分号。

JAVA_HOME=/usr/local/jdk1.8.0_161
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib
export JAVA_HOME PATHCLASSPATH TOMCAT_HOME

//添加以上代码后,直接 ctrl + C ,输入:wq (冒号), 回车保存就行了
然后加载刚刚配置的环境变量,命令如下:
source /etc/profile
验证JDK是否安装成功,在命令行,输入java -version
回车,若打印出JDK版本,则OK!

第二步:下载安装tomcat

下载tomcat到服务器中,并解压到文件夹,如/home/emeet/tomcat.
再复制一份tomcat压缩包,解压到 /home/emeet/tomcat2;
这就服务器上就有两个tomcat了,然后我们开始下一步。

第三步:配置tomcat环境变量(重点)

同样是操作/etc/profile 文件。

vi  /etc/profile

然后在文件最后一行,即刚刚添加JDK环境变量的后边添加如下配置:

#tomcat1

export CATALINA_HOME=/home/emeet/tomcat/apache-tomcat-9.0.16
export CATALINA_BASE=/home/emeet/tomcat/apache-tomcat-9.0.16                
export TOMCAT_HOME=/home/emeet/tomcat/apache-tomcat-9.0.16

#tomcat2

export CATALINA_HOME2=/home/emeet/tomcat2/apache-tomcat-9.0.16           
export CATALINA_BASE2=/home/emeet/tomcat2/apache-tomcat-9.0.16
export TOMCAT_HOME2=/home/emeet/tomcat2/apache-tomcat-9.0.16

(注意:tomcat2中的配置命名)
添加后,ctrl+C, 然后命令行输入 :wq ,保存退出。
加载环境变量,命名行
source /etc/profile
配置成功!

第四步:修改tomcat2中的server.xml文件(重点)

修改 tomcat2/apache-tomcat-9.0.16/conf/server.xml 文件。这个地方是更改端口,共三处,如下:

  <Server port="8005" shutdown="SHUTDOWN">     默认为8005--》修改为8006
    <!--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 -->
  .........
    <Connector port="8080" protocol="HTTP/1.1"    默认为8080--》修改为8081              
      connectionTimeout="20000" 
               redirectPort="8443" />
  ........
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />      默认为8009--》修改为8010

第五步:修改tomcat中的startup.sh 和 shutdown.sh文件(重点)

1.修改 tomcat/apache-tomcat-9.0.16/bin 中的 startup.sh 和 shutdown.sh 两个文件,分别在其中添加如下内容:

//为了方便定位位置,加了上下的注释内容
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export JAVA_HOME=/root/jdk1.8.0_161
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/bin
export CATALINA_HOME=$CATALINA_HOME
export CATALINA_BASE=$CATALINA_BASE

2.修改 tomcat2/apache-tomcat-9.0.16/bin 中的 startup.sh 和 shutdown.sh 两个文件,分别在其中添加如下内容

//为了方便定位位置,加了上下的注释内容
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export JAVA_HOME=/root/jdk1.8.0_161
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/bin
export CATALINA_HOME=$CATALINA_HOME2
export CATALINA_BASE=$CATALINA_BASE2
# Better OS/400 detection: see Bugzilla 31132

添加完成后,保存退出即可。
此处发现一个错误:在Linux中的启动Tomcat的时候无异常,但是通过脚本文件shutdown关闭Tomcat的时候,出现异常,发现是8005或者8006端口没有正常启动,导致关闭tomcat失败
解决办法:
$JAVA_HOME/jre/lib/security/Java.security 文件中 securerandom.source 配置项

securerandom.source=file:/dev/random

改为:

securerandom.source=file:/dev/urandom

最后:检验成果

分别启动两个tomcat中的 /bin/startup.sh ,然后打开浏览器访问测试。http://ip / 端口(server.xml中配置的端口) ,两个端口都可以成功访问即可。
剩下的就是将项目拷贝一份,分别部署到两个tomcat中,启动运行!

-----来自群员销售的投稿

正文到此结束
本文目录