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
总结:
一、CATALINA_HOME是Tomcat的安装目录,CATALINA_BASE是Tomcat的工做目录。
若是没有配置多个实例,CATALINA_BASE和CATALINA_HOME是同样的。
二、Tomcat默认使用JULI日志系统(能够参考官网文档修改为使用log4j)。与之相关的是
tomcat-juli.jar。
三、Tomcat的启动类是Bootstrap,它承担着管理Catalina的责任。与之相关的是
bootstrap.jar。
四、除了CATALINA_HOME和CATALINA_BASE环境变量,全部的环境变量均可以在“setenv”脚本指定。
CATALINA_HOME和CATALINA_BASE环境变量不能在“setenv”脚本配置,由于他们用来定位那个文件。
五、只有在使用标准的脚本运行tomcat时才会使用“setenv”脚本;若是在windows上将tomcat安装成服务,服务包装器直接
运行java(tomcat.exe),不使用脚本文件。
六、启动tomcat可使用startup.bat或catalina.sh脚本,也可使用catalina.bat/catalina.sh
start,
这样会在新窗口中启动Catalina;
可使用catalina.bat/catalina.sh
run则会在当前窗口启动Catalina。
七、CATALINA_OPTS容许指定启动Tomcat的java命令的附加选项。
注意:不要用JAVA_OPTS制定内存限制,
用来中止Tomcat的进程你不须要许多内存,那些设置属于CATALINA_OPTS。
八、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