当前位置: > Linux服务器 > Tomcat >

tomcat脚本简要分析

时间:2014-10-27 22:24来源:linux.it.net.cn 作者:it
tomcat的脚本在bin目录下,有:catalina、startup、shutdown、setenv、digest、version等。 
其中catalina 脚本 用于启动和关闭tomcat 服务器 ,是tomcat中最关键的脚本。
startup 脚本 和shutdown 脚本等 都是使用了不同的参数调用了catalina脚本:
startup 脚本 以start参数调用了catalina脚本,shutdown脚本以stop参数调用了catalina脚本。
 
catalina用法(摘自catalina脚本): 
echo Usage:  catalina ( commands ... ) 
echo commands: 
echo   debug                       Start Catalina in a debugger 
echo   debug -security         Debug Catalina with a security manager 
echo   jpda start                  Start Catalina under JPDA debugger 
echo    run                           Start Catalina in the current window 
echo   run -security             Start in the current window with security manager 
echo    start                         Start Catalina in a separate window 
echo   start -security           Start in a separate window with security manager 
echo   stop                         Stop Catalina 
echo   version                     What version of tomcat are you running? 
例如: 
catalina.bat start   在一个不同的窗口启动tomcat 
catalina.bat run     在当前窗口启动tomcat 
catalina.bat stop    关闭tomcat 
 
digest是用指定的算法加密密码的脚本。 
digest脚本用法: 
Usage: RealmBase -a <algorithm> [-e <encoding>] <credentials> 
例如: 
digest.bat -a MD5 password 
运行结果如下: 
password:5f4dcc3b5aa765d61d8327deb882cf99 
MD5有16位和32位,加密后的字符串为十六进制数字,是不可逆的加密算法。 
16位MD5加密后的字符串是提取了32位MD5加密后的字符串的中间16位。 
 
version脚本是catalina服务器的版本脚本, 可以查看tomcat、os、JVM的版本等。
vresion脚本用法:
catalina.bat version或 version.bat,运行结果如下:
 

 

摘录 catalina.bat 一些重要的注释
Environment Variable Prerequisites 
CATALINA_HOME  May point at your Catalina "build" directory. 
CATALINA_BASE   (Optional) Base directory for resolving dynamic portions of a Catalina installation.  
                             If not present, resolves to the same directory that CATALINA_HOME points to. 
CATALINA_OPTS   (Optional) Java runtime options used when the "start", or "run" command is executed. 
JAVA_OPTS           (Optional) Java runtime options used when the "start", "stop", or "run" command is executed. 
 
Start/Stop Script for the CATALINA Server 
译:CATALINA服务器的启动/停止脚本 
 
Guess  CATALINA_HOME if not defined 
译:如果未定义,猜测CATALINA_HOME 
 
Copy  CATALINA_BASE from CATALINA_HOME if not defined 
译:如果未定义,从CATALINA_HOME复制到CATALINA_BASE 
 
Ensure that any user defined  CLASSPATH variables are not used on startup, 
but allow them to be specified in  setenv.bat, in rare case when it is needed. 
译:确保在启动时任何用户定义的CLASSPATH变量未被使用,但是如果需要在特殊情况下允许他们在setenv.bat指定 
 
Get  standard environment variables
译:获得标准的环境变量 
 
Get  standard Java environment variables
译:获得标准的java环境变量 
 
Add  tomcat-juli.jar and  bootstrap.jar to classpath 
tomcat-juli.jar can be over-ridden per instance 
Note that there are no quotes as we do not want to introduce random 
quotes into the CLASSPATH 
译:将tomcat-juli.jar和bootstrap.jar添加到classpath 
每个实例中tomcat-juli.jar可以被覆盖 
 
 
Execute The Requested Command 
译:执行需要的命令 
 
Get remaining unshifted command line arguments and save them in the 
译:获得剩余未移位的命令行参数 
 
Execute Java with the applicable properties 
译:用应用属性执行java 
 
 
 
 
总结: 
1、CATALINA_HOME是Tomcat的安装目录,CATALINA_BASE是Tomcat的工作目录。 
     如果没有配置多个实例,CATALINA_BASE和CATALINA_HOME是一样的。 
2、Tomcat默认使用JULI日志系统(可以参考官网文档修改成使用log4j)。与之相关的是 tomcat-juli.jar。 
3、Tomcat的启动类是Bootstrap,它承担着管理Catalina的责任。与之相关的是 bootstrap.jar。 
4、除了CATALINA_HOME和CATALINA_BASE环境变量,所有的环境变量都可以在“setenv”脚本指定。 
     CATALINA_HOME和CATALINA_BASE环境变量不能在“setenv”脚本配置,因为他们用来定位那个文件。 
5、只有在使用标准的脚本运行tomcat时才会使用“setenv”脚本;如果在windows上将tomcat安装成服务,服务包装器直接 
     运行java(tomcat.exe),不使用脚本文件。 
6、启动tomcat可以使用startup.bat或catalina.sh脚本,也可以使用catalina.bat/catalina.sh  start, 
     这样会在新窗口中启动Catalina; 
     可以使用catalina.bat/catalina.sh  run则会在当前窗口启动Catalina。 
7、CATALINA_OPTS允许指定启动Tomcat的java命令的附加选项。 
     注意:不要用JAVA_OPTS制定内存限制, 用来停止Tomcat的进程你不需要许多内存,那些设置属于CATALINA_OPTS。
8、CATALIAN_OPTS与JAVA_OPTS不同:
      CATALIAN_OPTS和 JAVA_OPTS中的变量在 tomcat的 启动 命令"start"和"run" 被执行时使用, 在 tomcat的 关闭 命令"stop" 被执行时只有 JAVA_OPTS 中的变量可以被 使用。
     其他应用也可能使用 JAVA_OPTS,tomcat将使用 CATALIAN_OPTS。
 
 
 
更多参考: 
${CATALINA_HOME}/RUNNING.txt 
${CATALINA_HOME}/bin
 
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容