tomcat发行版附带的RUNNING.txt表示使用CATALINA_BASEvariables来启用多个tomcat实例。 但是我怎样才能为每个tomcat实例目录设置CATALINA_BASE环境variables?
在你的开发机器上有多个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等值。
有一个更简单的方法。 不要在你的机器上定义CATALINA_HOME作为环境变量。 startup.bat和shutdown.bat已经附带下面的代码:
if not "%CATALINA_HOME%" == "" goto gotHome set "CATALINA_HOME=%CURRENT_DIR%"
你应该全部设置。 PS:记得编辑server.xml,并设置一个新的端口号。 🙂
这个链接有一个很好的答案。 有一些其他答案似乎忽略的一点是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