Tomcat里catalina.sh的使用小結(jié)
在 Tomcat 中,catalina.sh(Linux/macOS)或 catalina.bat(Windows)是 核心的啟動(dòng)和關(guān)閉腳本,用于控制 Tomcat 服務(wù)器的運(yùn)行。它是 Tomcat 的“主控腳本”,負(fù)責(zé)設(shè)置環(huán)境變量、啟動(dòng)/關(guān)閉 JVM 進(jìn)程,并傳遞參數(shù)給 Tomcat 的核心組件。
catalina.sh的主要功能
啟動(dòng)/停止 Tomcat
- 通過(guò)
start、stop、run等命令控制 Tomcat 生命周期。 - 例如:
./catalina.sh start # 后臺(tái)啟動(dòng) Tomcat ./catalina.sh run # 前臺(tái)啟動(dòng)(日志輸出到控制臺(tái)) ./catalina.sh stop # 停止 Tomcat
- 通過(guò)
設(shè)置 JVM 和 Tomcat 環(huán)境變量
- 加載
setenv.sh(如果存在)來(lái)配置自定義環(huán)境變量(如JAVA_OPTS、CATALINA_OPTS)。 - 例如,在
setenv.sh中配置 JVM 內(nèi)存:export JAVA_OPTS="-Xms512M -Xmx1024M"
- 加載
傳遞參數(shù)給 Tomcat 的 Bootstrap 類
- 最終會(huì)調(diào)用 Java 的
org.apache.catalina.startup.Bootstrap類來(lái)啟動(dòng) Tomcat。
- 最終會(huì)調(diào)用 Java 的
管理日志輸出
- 控制標(biāo)準(zhǔn)輸出/錯(cuò)誤日志的路徑(默認(rèn)重定向到
logs/catalina.out)。
- 控制標(biāo)準(zhǔn)輸出/錯(cuò)誤日志的路徑(默認(rèn)重定向到
調(diào)試支持
- 支持調(diào)試模式(如
jpda start啟用遠(yuǎn)程調(diào)試)。
- 支持調(diào)試模式(如
常見(jiàn)用法示例
1.啟動(dòng) Tomcat
cd $CATALINA_HOME/bin # 進(jìn)入 Tomcat 的 bin 目錄 ./catalina.sh start # 后臺(tái)啟動(dòng)
2.前臺(tái)運(yùn)行(開(kāi)發(fā)調(diào)試)
./catalina.sh run # 日志直接輸出到控制臺(tái)
3.停止 Tomcat
./catalina.sh stop # 優(yōu)雅關(guān)閉
4.強(qiáng)制終止(kill)
如果 stop 無(wú)效,可以強(qiáng)制終止進(jìn)程:
ps -ef | grep tomcat # 查找 Tomcat 的 PID kill -9 <PID> # 強(qiáng)制終止
5.啟用遠(yuǎn)程調(diào)試
./catalina.sh jpda start # 默認(rèn)監(jiān)聽(tīng) 8000 端口
與其他腳本的關(guān)系
startup.sh / shutdown.sh
這兩個(gè)腳本實(shí)際是 catalina.sh 的快捷方式:- startup.sh → 調(diào)用 catalina.sh start
- shutdown.sh → 調(diào)用 catalina.sh stop
直接使用 catalina.sh 更靈活。
setenv.sh
自定義環(huán)境變量腳本(需手動(dòng)創(chuàng)建),catalina.sh 會(huì)自動(dòng)加載它。
關(guān)鍵環(huán)境變量
| 變量名 | 作用 |
|---|---|
| CATALINA_HOME | Tomcat 安裝目錄 |
| CATALINA_BASE | 多實(shí)例部署時(shí)的實(shí)例目錄 |
| JAVA_OPTS | JVM 參數(shù)(內(nèi)存、GC 等) |
| CATALINA_OPTS | Tomcat 專屬 JVM 參數(shù) |
| CATALINA_OUT | 指定日志輸出文件 |
注意事項(xiàng)
- 不要直接修改 catalina.sh
自定義配置應(yīng)通過(guò) setenv.sh 或 JAVA_OPTS 實(shí)現(xiàn)。 - 權(quán)限問(wèn)題
確保腳本有可執(zhí)行權(quán)限:chmod +x *.sh
- 多實(shí)例部署
通過(guò)CATALINA_BASE區(qū)分不同實(shí)例的配置。
總結(jié)
catalina.sh 是 Tomcat 的核心控制腳本,負(fù)責(zé):
? 啟動(dòng)/停止服務(wù)器
? 配置 JVM 和 Tomcat 環(huán)境
? 管理日志和調(diào)試
建議通過(guò) setenv.sh 自定義配置,而非直接修改該腳本。
到此這篇關(guān)于Tomcat里catalina.sh的使用小結(jié)的文章就介紹到這了,更多相關(guān)Tomcat catalina.sh內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
tomcat實(shí)現(xiàn)多war包部署的方法步驟
本文主要介紹了tomcat實(shí)現(xiàn)多war包部署的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08
使用TomCat,service輸出臺(tái)出現(xiàn)亂碼的解決
本文介紹了解決Tomcat服務(wù)輸出臺(tái)中文亂碼問(wèn)題的兩種方法,第一種方法是修改`logging.properties`文件中的`prefix`和`encoding`參數(shù);第二種方法是配置IDEA的VMoptions和文件編碼設(shè)置,通過(guò)這兩種方法,可以有效解決Tomcat服務(wù)輸出臺(tái)出現(xiàn)的亂碼問(wèn)題2025-01-01
IDEA Maven項(xiàng)目使用debug模式運(yùn)行Tomcat的詳細(xì)教程
這篇文章主要介紹了IDEA Maven項(xiàng)目使用debug模式運(yùn)行Tomcat的方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
Tomcat和Weblogic部署純html文件過(guò)程解析
這篇文章主要介紹了Tomcat和Weblogic部署純html文件過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
tomcat異常解決(Invalid character found in the request target. Th
這篇文章主要介紹了tomcat 異常的解決方案,幫助大家排查錯(cuò)誤,保持服務(wù)器的穩(wěn)定,感興趣的朋友可以了解下2020-10-10

