标签:
杂谈 |
分类: linux_tomcat |
步骤如下:
(1)修改/etc/profile文件。添加一组java环境变量,和两组CATALINA环境变量(我没有进行此步骤的设置,可能因为我的Tomcat是免安装版的吧)记得修改完要使其生效,用命令:source /etc/profile
JAVA_HOME=/usr/java/jdk1.7.0
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
#第一个Tomcat
CATALINA_BASE=/usr/local/apache-tomcat-6.0.35
CATALINA_HOME=/usr/local/apache-tomcat-6.0.35
export CATALINA_BASE CATALINA_HOME
#第二个Tomcat
CATALINA_2_BASE=/usr/local/apache-tomcat-6.0.35-second
CATALINA_2_HOME=/usr/local/apache-tomcat-6.0.35-second
export CATALINA_2_BASE CATALINA_2_HOME
#第一个Tomcat路径
TOMCAT_HOME=/usr/local/apache-tomcat-6.0.35
export TOMCAT_HOME
#第二个Tomcat路径
TOMCAT_2_HOME=/usr/local/apache-tomcat-6.0.35-second
export TOMCAT_2_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_HOME
#设置虚拟机参数
JAVA_OPTS="-Xms512m -Xmx512m -Xss1024K -XX:PermSize=128m
-XX:MaxPermSize=256m"
另二:
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,成功。
两个一样的tomcat不能同时启动解决方法
问题:我的服务器是Tomcat7.0.20,修改完所有端口之后(shutdown端口、http端口、https端口、ajp端口),启动一个就不能启动另一个。
两 个startup.bat最前面加上一句set CATALINA_HOME=当前TOMCAT路径就可以了 当第一个tomcat启动后,后面tomcat的server.xml中的端口不管怎么改,仍然会报端口冲突。后来在dos下运行才发现所有的 tomcat都会去找CATALINA_HOME和CATALINA_BASE这两个环境变量,因此步骤如下:
1.使用压缩版的tomcat不能使用安装版的。
2.第一个tomcat的配置不变。
3.增加环境变量CATALINA_HOME2,值为新的tomcat的地址;增加环境变量CATALINA_BASE2,值为新的tomcat的地址。
4.修改新的tomcat中的startup.bat,把其中的CATALINA_HOME改为CATALINA_HOME2。
5.修改新的tomcat中的catalina.bat,把其中的CATALINA_HOME改为CATALINA_HOME2,CATALINA_BASE改为CATALINA_BASE2。
6.1 <Server port="8005" shutdown="SHUTDOWN">把端口改为没有是使用的端口。
7成功!
8 第三、第四.....等N台服务器参考3~6 步顺序进行即可!祝好运! 在cmd命令行执行1、netstat –ano 查看端口情况2、tasklist 查看运行程序情况3、杀掉占用你多需要端口的程序