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