使用多个CATALINA_BASE在Windows上设置tomcat 6实例

时间:2009-11-25 03:30:41

标签: windows tomcat6

tomcat发行版附带的RUNNING.txt表示使用CATALINA_BASE变量来启用多个tomcat实例。但是,如何为每个tomcat实例目录设置CATALINA_BASE环境变量?

3 个答案:

答案 0 :(得分:40)

在您的开发计算机上拥有多个Tomcat实例非常棒。以下是我通常用于Windows的方法(设置的重要部分在步骤2,3,4和5中):

  1. 将Tomcat 6的副本安装到目录(例如 C:\ apache-tomcat-6.0.20 )。
  2. conf 目录复制到另一个目录(例如 C:\ tomcat-1
  3. C:\ tomcat-1 下,创建 bin 目录
  4. C:\ tomcat-1 \ bin 目录中,创建一个名为 startup.bat 的文件,其内容如下:

    set CATALINA_BASE=C:\tomcat-1

    set CATALINA_HOME=C:\apache-tomcat-6.0.20

    C:\apache-tomcat-6.0.20\bin\startup.bat

  5. C:\ tomcat-1 \ bin 目录中,创建一个名为 shutdown.bat 的文件,其内容如下:

    set CATALINA_BASE=C:\tomcat-1

    set CATALINA_HOME=C:\apache-tomcat-6.0.20

    C:\apache-tomcat-6.0.20\bin\shutdown.bat

  6. 可选:在 C:\ tomcat-1 \ bin 目录中创建一个名为 setenv.bat 的文件,以设置中提到的任何环境变量C:\ Apache的Tomcat的6.0.20 \ BIN \ catalina.bat中。这是设置系统属性,JPDA地址等的地方

  7. C:\ tomcat-下创建日志 temp webapps 工作目录1
  8. C:\ tomcat-1 目录运行 bin \ startup.bat
  9. 对于您需要的多个tomcat实例,重复步骤2中的其他安装。
  10. 尽量不要将Tomcat安装在名称中包含空格的目录中。它应该工作,但你会遇到更少的问题。如果您使用Windows的“tomcat as a service”选项,我不知道这将如何工作。

    从这里开始,您应该可以隔离tomcat实例。只需确保编辑 conf \ server.xml 文件,以便关闭端口和HTTP连接器端口不会干扰可能正在运行的其他Tomcat实例。我通常为关闭端口分配8005,8006,8007等值,为HTTP连接器端口分配8080,8081,8082等。

答案 1 :(得分:4)

有一种更简单的方法。只是不要在您的机器上将CATALINA_HOME定义为环境变量。 startup.bat和shutdown.bat已经附带以下代码:

if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"

你应该全力以赴。 PS:记得编辑server.xml并输入新的端口号。 :)

答案 2 :(得分:0)

这个链接有一个对我有用的答案。其他一些答案似乎忽略的一件事是server.xml文件中有多个地方必须修改。在找到这个答案之前,mu tomcat服务器正在为某些端口竞争。我已经将HTTP / 1.1连接器端口更改为8081,但忽略了更改一些显然对我的tomcat(版本7)重要的其他端口。 FWIW我有一个tomcat服务版本和一个非服务版本。

First server.xml file

<connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<server port="8005" shutdown="SHUTDOWN"/>
<connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<connector port="8100" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

Second server.xml file

<connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<server port="8006" shutdown="SHUTDOWN"/>
<connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
<connector port="8101" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

http://www.ansoncheunghk.info/article/5-steps-install-multiple-apache-tomcat-instance-windows