Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量)

用文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读。在这个文件中,首先判断CATALINA_HOME环境变量是否为空,如果为空,就将当前目录设为CATALINA_HOME的值。接着判断当前目录下是否存在bin\catalina.bat,如果文件不存在,将当前目录的父目录设为CATALINA_HOME的值。根据笔者机器上Tomcat安装目录的层次结构,最后CATALINA_HOME的值被设为Tomcat的安装目录。如果环境变量CATALINA_HOME已经存在,则通过这个环境变量调用bin目录下的“catalina.bat start”命令。通过这段分析,我们了解到两个信息,一是Tomcat启动时,需要查找CATALINA_HOME这个环境变量,如果在Tomcat的bin目录下调用startup.bat,Tomcat会自动并正确设置CATALINA_HOME;二是执行startup.bat命令,实际上执行的是“catalina.bat start”命令。

如果我们不是在Tomcat的bin目录作为当前目录时调用startup.bat,就会出现如下图所示的错误信息(在bin目录的父目录下调用除外)。

图    在其他目录下启动Tomcat出错

如果要想在任意目录下都能启动Tomcat,就需要设置CATALINA_HOME环境变量,你可以将CATALINA_HOME添加到Windows XP系统的环境变量中,其值就是Tomcat的安装目录。在笔者的机器上,Tomcat的安装目录是D:\apache-tomcat-6.0.36-windows-x86\apache-tomcat-6.0.36。添加CATALINA_HOME环境变量的过程和前述添加JAVA_HOME环境变量的过程是一样的。如果你不想在系统的环境变量中添加,也可以直接在startup.bat文件中进行设置。下面是在startup.bat文件中设置CATALINA_HOME后的文件片段:

rem $Id: startup.bat 908749 2010-02-10 23:26:42Z markt $
rem ---------------------------------------------------------------------------

set CATALINA_HOME=D:\apache-tomcat-6.0.36-windows-x86\apache-tomcat-6.0.36

rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..

...

注意以粗体显示的这句代码的作用就是设置CATALINA_HOME环境变量,在它的下面是判断CATALINA_HOME是否为空的语句。如果找不准位置,干脆将设置CATALINA_HOME环境变量的这句代码放到文件的第一行。JAVA_HOME环境变量也可以采用同样的方式进行设置。不过,如果要在其他目录下利用shutdown.bat来关闭Tomcat服务器,则需要在shutdown.bat文件中设置CATALINA_HOME和JAVA_HOME这两个环境变量,设置变量的位置和startup.bat文件一样,都是在判断CATALINA_HOME是否为空之前。当然,为了一劳永逸,避免重装Tomcat后还要进行设置(需要是同一版本的Tomcat安装在同一位置),我们最好还是将CATALINA_HOME和JAVA_HOME这两个环境变量添加到Windows XP系统的环境变量中。

有的读者可能会对Tomcat安装目录的环境变量的名字是CATALINA_HOME而感到奇怪,按照其他环境变量的设置来看,JAVA_HOME表示JDK的安装目录,那么应该用TOMCAT_HOME来表示Tomcat的安装目录,可为什么要使用CATALINA_HOME呢?实际上,在Tomcat 4以前,用的就是TOMCAT_HOME来表示Tomcat的安装目录,在Tomcat 4以后,采用了新的Servlet容器Catalina,所以环境变量的名字也改为了CATALINA_HOME。

在Windows系统下环境变量的名字是与大小写无关的,也就是说,JAVA_HOME和java_home是一样的。

了解了startup.bat文件以后,我们再来看看真正负责启动Tomcat服务器的catalina.bat文件。通过分析catalina.bat文件,我们发现它还调用了一个文件setclasspath.bat。在setclasspath.bat文件中,它检查JAVA_HOME环境变量是否存在,并通过JAVA_HOME环境变量,找到java.exe,用于启动Tomcat。在这个文件中,还设置了其他的一些变量,代表调用Java的标准命令,有兴趣的读者可以自行分析一下这个文件。在执行完setclasspath.bat之后,catalina.bat剩下的部分就开始了Tomcat服务器的启动进程。

直接执行catalina.bat时,需要带上命令行的参数。读者可以在命令提示符窗口下,执行catalina.bat,就会打印出catalina.bat命令的各种参数及其含义,如下图所示。

(点击查看大图)图     catalina.bat的各参数信息

其中常用的参数是start、run和stop。参数start表示在一个单独的窗口中启动Tomcat服务器,参数run表示在当前窗口中启动Tomcat服务器;参数stop表示关闭Tomcat服务器。我们执行startup.bat,实际上执行的就是“catalina.bat start”命令;执行shutdown.bat,实际上执行的是“catalina.bat stop”命令。“catalina.bat run”命令有时候是非常有用的,特别是当我们需要查看Tomcat的出错信息时。

在开发JSP程序时,经常会碰到自己机器上的8080端口号被别的应用程序占用,或者在配置server.xml时出现错误,当通过startup.bat(相当于执行“catalina.bat start”)启动Tomcat服务器时,如果启动过程中出现严重错误,由于是在单独的窗口中启动Tomcat服务器,所以一旦启动失败,命令提示符窗口就自动关闭了,程序运行中输出的出错信息也随之消失,而且没有任何的日志信息,这就使得我们没有办法找出错误原因。当出现错误时,我们可以换成“catalina.bat run”命令再次启动,一旦启动失败,仅仅是Tomcat服务器异常终止,但是在当前的命令提示符窗口下仍然保留了启动时的出错信息,这样我们就可以查找启动失败的原因了。

以上就对Tomcat 启动分析做的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

(0)

相关推荐

  • JavaWeb项目中springmvc和tomcat对静态文件的处理

    1.激活Tomcat的defaultServlet来处理静态文件,web.xml配置 <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> a.说到了这里另外说说url-pattern的配置 <!--url-pattern的三种写法--> <!--精确匹配:以&

  • windows下tomcat7.0安装图文教程

    这是windows下tomcat 7.0的安装步骤. 方法/步骤 双击.exe安装程序,显示如下图所示的欢迎页面. 点击next按扭出现如下图所示的页面 点击Agree按钮出现下图所示的页面 选择你需要安装的组件(一般按照默认选择安装就可以啦),点击next按钮出现下图所示的页面 默认选择,点击next按钮进行下一步安装 经过以上步骤Tomcat7.0安装完毕!点击Finish结束安装. 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • Javaweb开发环境Myeclipse6.5 JDK1.6 Tomcat6.0 SVN1.8配置教程

    Javaweb开发环境的配置也是比较繁琐的一件事情,虽然理论上使用记事本,完全可以写出一个Javaweb工程, 但是在团队大型开发的Javaweb过程中,你必须配置好Eclipse.SVN.Tomcat与JDK1.6,当然还有Mysql数据库,不过数据库配置的事情属于后台内容,本文仅讨论前台开发环境的配置. 之所以选择Myeclipse6.5是因为其他高版本的Myeclipse实在是太卡,编辑小型程序还好,编辑大型程序完全吃不消,Eclipse的功能毕竟简陋,所以还是选择了旧版本.经典版本Mye

  • tomcat环境变量详细配置步骤

    本文实例为大家分享了tomcat环境变量的配置教程,供大家参考,具体内容如下 1.===> 进入bin目录下,双击startup.bat看是否报错.一般肯定会报. 2.===> 右键我的电脑===>高级===>环境变量   新建一个 变量名为 JAVA_HOME 然后变量值是 你的JDK的bin目录的上一层. 再新建一个 变量名为CATALINA_HOME 变量值是你的Tomcat的bin的目录的上一层. 3.===> 进入Tomcat bin目录下  双击shutdown.

  • Win7系统下tomcat7.0配置教程

    接着之前的文章Java环境变量配置教程进行学习,下面针对tomcat进行配置,以Windows7为例,希望能帮助到大家.  1.到http://tomcat.apache.org下载下载Tomcat7.0相应版本  Windows系统最好下载ZIP包:Linux系统最好下载tar包.  看到书上说,最好不要下载Tomcat的安装文件,因为安装文件启动时是看不到控制台命令输出的. 2.将相应ZIP文件解压到本机任意目录下,本人安装时将其解压到:  D:\Chuang-Study\apache-to

  • Windows下tomcat安装图文教程(安装版)

    下载tomcat安装文件,官方下载地址是:http://tomcat.apache.org/,本文以tomcat-7.0.26版本为例进行安装过程的说明: Windows下tomcat安装图文教程 1.双击apache-tomcat-7.0.26.exe开始tomcat的安装,见图1. 图1 2.点击Next,进入第二步,同意它的安装协议条款,见图2,点击I Agree继续安装. 图2 3.选择安装选项,默认是Normal,可以看图3,点开Tomcat,选中Service,以后将可以在管理的服务

  • WIN7系统JavaEE(tomcat7 Eclipse)环境配置教程(二)

    在进行Java Web环境开发之前,首先要做的第一件事就是搭建开发环境,开发环境搭建成功,接下来便是对整个开发环境进行测试,可以通过编写一个简单的JSP程序发布到Tomcat应用服务器上运行. 本文重点介绍Tomcat配置过程,具体内容如下 1.下载Tomcat7.0;下载地址:http://tomcat.apache.org/download-70.cgi:根据自己系统下载相应版本. 2.把下载的压缩包,解压到某硬盘根目录,我解压到D盘根目录. 3.配置Tomcat环境变量: 右击[我的电脑]

  • CentOS 6.5上的Tomcat启动报错问题解决方法

    这里有两个错误: 1.第一个错误,APR的问题,错误详情: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path 2.第二个错误,错误详情: Exception in thread "main" java.lang.InternalError        

  • linux下Nginx+Tomcat负载均衡配置方法

    Nginx+tomcat是目前主流的java web架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1.JAVA JDK安装: #下载相应的jdk软件包,然后解压安装,我这里包名称为:jdk-7u25-linux-x64.tar.gz tar -xzf jdk-7u25-linux-x64.tar.gz ;mkdir -p /usr/java/ ;mv jdk1.7.0_25/ /usr/java/ 下. #然后配置

  • Java零基础教程之Windows下安装、启动Tomcat服务器方法图解(免安装版)

    相关阅读: Java零基础教程之Windows下安装 JDK的方法图解 官网下载 你是 Windows 环境,所以,打开浏览器,输入地址:http://tomcat.apache.org/download-70.cgi 选择对应的 ..-bit Windows zip下载就可以了. 安装 找到你下载的 ZIP 包,解压到你认为合适的目录,其实这是免安装版. 启动 进入 bin 目录,找到startup.bat双击,这样就算启动了 Tomcat 了,现在在浏览器输入地址+端口8080(默认)即可看

  • windows下nginx+tomcat配置负载均衡的方法

    目标:Nginx做为HttpServer,连接多个tomcat应用实例,进行负载均衡. 注:本例程以一台机器为例子,即同一台机器上装一个nginx和2个Tomcat且安装了JDK1.7. 1.安装Nginx 安装Nginx教程 2.配置两个Tomcat 在本机上配置两个Tomcat,分别为tomcat7-8081.tomcat7-8082. tomcat7-8081访问地址:http://localhost:8081,浏览显示内容:this is 8081 port tomcat7-8082访问

  • Tomcat环境变量如何配置

    本文以文字的形式为大家叙述Tomcat环境变量的配置过程,以及验证配置是否成功的方法,具体内容如下 JDK环境变量配置:  如果你的JDK安装在C盘里,如:C:\Program Files\Java\jdk1.6.0_05,那么就在系统变量里(当然也可以在用户变量里)点新建:       变量名:JAVA_HOME       变量值:C:\Program Files\Java\jdk1.6.0_05;       再次点新建:       变量名:classpath       变量值:.;%

随机推荐