在一台Windows机器上运行多个Tomcat实例

时间:2012-10-05 08:34:16

标签: java tomcat6

我下载了apache-tomcat-6.0.35&把它放在tomcat文件夹中。

我确实为此做了准备: http://builddeploy.blogspot.com/2010/02/running-multiple-tomcat-instances-on.html

我的tomcat目录结构是

 tomcat
     apache-tomcat-6.0.35  
           bin,conf,lib,logs,temp,webapps,work   //Folders name
     tomcatclpl
           bin,conf,logs,temp,webapps,work  //Folders name
     tomcatmass
           bin,conf,logs,temp,webapps,work   //Folders name

apache-tomcat-6.0.35's server.xml file port is 8085

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

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

tomcatclpl's conf - server.xml file我改变了

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

<Connector port="8282" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /><Connector port="8209" protocol="AJP/1.3" redirectPort="8443" />

与tomcatmass相同,我也将端口更改为8383

我的starup.bat文件是:

     @echo off
@echo Tomcat CLPL Service
set "CATALINA_BASE = C:\Tomcat\tomcatclpl"
set "CATALINA_HOME=C:\Tomcat\apache-tomcat-6.0.35"
C:\Tomcat\tomcatclpl\bin\startup.bat

当我在cmd行中运行时;

C:\Tomcat\tomcatclpl>startup.bat
Tomcat MASS Service
Using CATALINA_BASE:   "C:\Tomcat\tomcatclpl"
Using CATALINA_HOME:   "C:\Tomcat\tomcatclpl"
Using CATALINA_TMPDIR: "C:\Tomcat\tomcatclpl\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.6.0_01"
Using CLASSPATH:       "C:\Tomcat\tomcatclpl\bin\bootstrap.jar"
C:\Tomcat\tomcatclpl>

此`bootstrap.jar文件未启动。请帮帮我。

由于CATALINA_BASE & CATALINA_HOME采用相同路径的原因 我无法解决这个问题

4 个答案:

答案 0 :(得分:2)

我解决了这个问题。首先我们应该启动默认的tomcat服务器。然后只需要启动实例服务器

 @echo off
 @echo Tomcat CLPL Service
 set "CATALINA_HOME=C:\Tomcat\apache-tomcat-6.0.35"
 set "CATALINA_BASE=C:\Tomcat\tomcatclpl"
 C:\Tomcat\apache-tomcat-6.0.35\bin\startup.bat

答案 1 :(得分:1)

edit startup.bat
set CATALINA_BASE=..
set CATALINA_HOME=@catalina.home@
set CATALINA_OPTS=-server -Xms@jvm.minmemory@m -Xmx@jvm.maxmemory@m
"%CATALINA_HOME%\bin\catalina" run %1 %2 %3 %4 %5 %6 %7 %8 %9

可在Configuring Separate Instances Using CATALINA_BASE

上找到更多信息

答案 2 :(得分:1)

@echo off
@echo Tomcat CLPL Service
set CATALINA_BASE="C:\Tomcat\tomcatclpl"
set CATALINA_HOME="C:\Tomcat\apache-tomcat-6.0.35"
C:\Tomcat\tomcatclpl\bin\startup.bat

这就是我通常设置env变量的方式

答案 3 :(得分:0)

让我填写这个;

  • 您将tomcat zip解压缩两次,分成两个不同的文件夹
  • 以管理员身份打开commandpromt
  • 导航至'tomcat1'\ bin \
  • 运行service install tomcat1
  • 导航至'tomcat2'\ bin \
  • 调用命令行:设置“CATALINA_HOME = C:\ path \ to \ tomcat2 \”
  • 运行service install tomcat2

现在您将在您的环境中看到两个服务(services.msc)。由X调用的每个都是1或2:“Apache Tomcat tomcatX”。它们具有正确的base / home变量,并且应指向正确的lib \文件夹(因此bootstrap.jar可用于启动服务器)。

问题是,用tomcat6w.exe工具可以控制服务。它只对默认服务器(即安装的第一个服务)起作用(至少对我来说)。为了绕过这个并且有机会为java环境定义变量,我们需要使用regedit.exe找到东西

  • 导航注册表:HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Apache Software Foundation \ Procrun 2.0 \ tomcat1 \ Parameters \ Java
  • 设置选项/ Xms / Xmx
  • 弄明白其余的(在同一棵树中找到tomcat2)