最近要在tomcat中部署cas服务端,于是新解压了一个tomcat,在其webapps目录下放入了cas.war
,但是启动新tomcat的startup.bat却无法解压cas.war,反而还解压另一个tomcat中的solr.war,说明新的tomcat没有启用
用记事本打开tomcat/bin目录下面的startup.bat
在文本的前一部分有下面的脚本代码
rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%CURRENT_DIR%
........
其中的
rem Guess CATALINA_HOME if not defined
set XXXXXXXX=****** 就是增加一个临时的环境变量.只对当前的进程起作用的
%cd%是windows控制台程序自带的一个变量.指这个脚本所在的那个目录的路径
set CATALINA_HOME=%CURRENT_DIR%
自然就是设置一个临时的环境变量CATALINA_HOME...这个就是一些教程里边所要配置的环境变量,以前版本的tomcat是要配置的..但是比较新版本4.0以后吧的现在都不用了(类似java中的classpath 5.0后不配了)
CATALINA_HOME在windows系统变量中配置了,指向了以前的tomcat,所以新的tomcat没有启用,删除
改动conf/server.xml文件改变新tomcat的端口:
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" /> 把port改为没有是使用的port(原始8080)。
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> 把port改为没有是使用的port(原始8009)。
另注(下面这个方法也可):
当第一个tomcat启动后,后面tomcat的server.xml中的端口不管怎么改,仍然会报端口冲突。后来在dos下运行才发现所有的tomcat都会去找CATALINA_HOME和CATALINA_BASE这两个环境变量,因此步骤如下:
1.使用压缩版的tomcat不能使用安装版的。
2.第一个tomcat的配置不变。
3.增加环境变量CATALINA_HOME2,值为新的tomcat的地址;增加环境变量CATALINA_BASE2,值为新的tomcat的地址。
4.修改新的tomcat中的startup.bat,把其中的CATALINA_HOME改为CATALINA_HOME2。
5.修改新的tomcat中的catalina.bat,把其中的CATALINA_HOME改为CATALINA_HOME2,CATALINA_BASE改为CATALINA_BASE2。