linux下同时启动2个或者多个tomcat的配置方法
1. 环境:
1.1. Red Hat Linux 9
1.2. Tomcat 5.5.17
2. 需要解决一下几个问题
2.1. 不同的tomcat启动和关闭监听不同的端口
2.2. 不同的tomcat的启动文件startup.sh 中要指定各自的CATALINA_HOME和CATALINA_BASE这两个环境变量。
3. 解决步骤:
3.1. 修改/etc目录下的profile文件,添加一组java环境变量,和两组CATALINA环境变量;修改后的profile文件示例如下:
JAVA_HOME=/usr/local/java
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH
CATALINA_BASE=/usr/local/tomcat1
CATALINA_HOME=/usr/local/tomcat1
export CATALINA_BASE CATALINA_HOME
CATALINA_2_BASE=/usr/local/tomcat2
CATALINA_2_HOME=/usr/local/tomcat2
export CATALINA_2_BASE CATALINA_2_HOME
TOMCAT_HOME=/usr/local/tomcat
export TOMCAT_HOME
TOMCAT_2_HOME=/usr/local/tomcat2
export TOMCAT_2_HOME
3.2. 第一个安装在/usr/local/tomcat处的tomcat,保持解压后的原状不用修改。修改第二个安装在/usr/local/tomcat2 /apache-tomcat-5.5.17处的tomcat。需要修改两个地方:
3.2.1. 修改server.xml配置和第一个不同的启动、关闭监听端口。修改后示例如下:<!--[endif]-->
端口:8005->9005
<Server port="9005" shutdown="SHUTDOWN">
端口:8080->9080
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="9080" maxHttpHeaderSize="8192"
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" />
更换如下端口
8009->9009 apache监听端口
8080->9080 tomcat监听端口
8443->9443 SSL的连接端口
8005->9005 用于停止tomcat的端口
3.2.2. 修改bin下的startup.sh和shutdown.sh。修改后的示例如下:(同样的修改)
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$CATALINA_2_HOME 利用profile中第二组设置
export CATALINA_BASE=$CATALINA_2_BASE 利用profile中第二组设置
4. 修改完毕后,可能需要重新启动Linux。可能是因为修改了profile文件的缘故,有些系统不需要,使用“source profile”命令就可以。
5. 分别进入两个tomcat的bin目录,启动tomcat,使用“./startup.sh”命令。
6. 然后访问http://localhost:8080 和 http://localhost:9080 都可以看到熟悉的tomcat欢迎界面。
7. 如果想启动多个可以依此法类推……
注意:
<1>在修改startup.sh或是shutdown.sh文件时,请注意把一些参数加在exec命令执行之前,不然配置无法起效。
<2>因为是在linux下面,安全性较高,修改tomcat端口后,如果出现tomcat正常启动,但是无法通过端口访问的情况,请检查 linux端口是否已经打开,在/etc/sysconfig/iptables里面查看端口情况,如果没有打开,请参照下面语句打开
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
<3>重启iptables
/etc/init.d/iptables restart
配置成功!
reference:
http://hualong.iteye.com/blog/727283
http://www.extmail.org/forum/thread-7991-1-5.html
分享到:
相关推荐
Linux 下使用 Tomcat 发布 Web 项目 本文将详细介绍如何在 Linux 系统...使用 Tomcat 在 Linux 系统下发布 Web 项目需要了解 Linux 系统的基本命令和 Tomcat 的配置文件,同时需要了解权限机制和常见的问题解决方法。
linux设置tomcat自动启动在centos下,开机后会自动执行/etc/rc.local中的命令,平时启动tomcat的命令为tomcat_home/bin/startup.sh或tomcat_home/bin/catalina.sh start,当直接把他们任何一个加入到/etc/rc.local中...
jvisualvm 远程访问 Linux ...使用 jvisualvm 远程访问 Linux 环境中的 Tomcat 需要安装和配置 jdk 和 Tomcat,然后使用 jvisualvm 的 JMX 方法或 jstatd 方法进行监控,最后添加 Visual GC 插件以获取更多的监控信息。
1. 使用tomcat自带的cluster方式,多个tomcat见自动实时复制session信息,配置起来很简单。但这个方案的效率比较低,在大并发下表现并不好。 2. 利用nginx的基于访问ip的hash路由策略,保证访问的ip始终被路由到同一...
很多情况下,我们在linux服务器上安装了tomcat或者nginx之类的软件. 当我们想用80端口的时候,如果不用root用户启动就会报错. 这是因为,对于linux系统而言,1024以下的端口,普通用户是无法使用的. 网上关于这...
Windows下调整Tomcat启动参数 Tomcat默认可以使用的内存为128MB,对于访问数比较多、比较吃内存的应用来说,这是不够的。我们可以通过调整Java虚拟机的启动参数来增加Tomcat可使用的内存。 下面就是众所周知的...
使用默认配置的tomcat,另外虚拟目录也可这设置: <Context path="/test" docBase="webContent" reloadable="true"/> 因为默认情况下,tomcat启动过程中配置虚拟目录的时候会从 webapps目录下查找webContent应用....
1、启动前 请配置application.properties中相关redis、zk以及kafka相关地址,建议在Linux下安装使用。 2、数据库脚本位于 src/main/resource/sql 下面,启动前请自行导入。 3、配置完成,运行Application中的main...
"Java.lang.OutOfMemoryError: Java heap space 解决...Java.lang.OutOfMemoryError: Java heap space 是一种常见的 Java 错误,解决该问题需要从多方面入手,包括调整 JVM 的堆大小、调整 Tomcat 的配置、优化程序等。
举例 : 假设您的Java Web Server为Tomcat,以Windows平台为例,Tomcat的存放目录为C:\Tomcat 5.5 ,brainysoft.dll存 放在c:\windows目录中,在Tomcat的bin目录中新建一个文件setenv.bat,setenv.bat中...
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 2、Java有没有goto? 3、说说&和&&的区别。 4、在JAVA中如何跳出当前的多重嵌套循环? 5、switch语句能否作用在byte上,能否作用在long上...
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...
53. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 13 54. java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 13 55. java中有几种类型的流?...
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 8 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用...