16

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

4

3 回答 3

41

在您的开发机器上拥有多个 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-1下创建logstempwebappswork目录
  8. C:\tomcat-1目录,运行bin\startup.bat
  9. 对步骤 2 中的其他安装重复您需要的尽可能多的 tomcat 实例。

尽量不要将 Tomcat 安装在名称中包含空格的目录中。它应该可以工作,但这样你会遇到更少的问题。如果您使用 Windows 的“tomcat 即服务”选项,我不知道这将如何工作。

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

于 2009-11-25T04:01:45.883 回答
4

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

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

你应该准备好了。PS:记得编辑 server.xml 并输入一个新的端口号。:)

于 2010-08-26T21:53:16.093 回答
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

于 2014-01-16T20:18:58.287 回答