tomcat发行版附带的RUNNING.txt表示使用CATALINA_BASE变量来启用多个tomcat实例。但是,如何为每个tomcat实例目录设置CATALINA_BASE环境变量?
答案 0 :(得分:40)
在您的开发计算机上拥有多个Tomcat实例非常棒。以下是我通常用于Windows的方法(设置的重要部分在步骤2,3,4和5中):
在 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
在 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
可选:在 C:\ tomcat-1 \ bin 目录中创建一个名为 setenv.bat 的文件,以设置中提到的任何环境变量C:\ Apache的Tomcat的6.0.20 \ BIN \ catalina.bat中。这是设置系统属性,JPDA地址等的地方
尽量不要将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