首页 > 代码库 > tomcat脚本简要分析
tomcat脚本简要分析
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?
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.
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 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
tomcat脚本简要分析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。