Tomcat里catalina.sh的使用小结

 更新时间:2026年02月09日 09:58:44   作者:思静鱼  
在Tomcat中,catalina.sh或 catalina.bat是用于控制 Tomcat服务器的运行,负责设置环境变量、启动/关闭 JVM 进程,并传递参数给 Tomcat 的核心组件,下面就来介绍一下如何使用

在 Tomcat 中,catalina.sh(Linux/macOS)或 catalina.bat(Windows)是 核心的启动和关闭脚本,用于控制 Tomcat 服务器的运行。它是 Tomcat 的“主控脚本”,负责设置环境变量、启动/关闭 JVM 进程,并传递参数给 Tomcat 的核心组件。

catalina.sh的主要功能

  1. 启动/停止 Tomcat

    • 通过 startstoprun 等命令控制 Tomcat 生命周期。
    • 例如:
      ./catalina.sh start   # 后台启动 Tomcat
      ./catalina.sh run     # 前台启动(日志输出到控制台)
      ./catalina.sh stop    # 停止 Tomcat
      
  2. 设置 JVM 和 Tomcat 环境变量

    • 加载 setenv.sh(如果存在)来配置自定义环境变量(如 JAVA_OPTSCATALINA_OPTS)。
    • 例如,在 setenv.sh 中配置 JVM 内存:
      export JAVA_OPTS="-Xms512M -Xmx1024M"
      
  3. 传递参数给 Tomcat 的 Bootstrap 类

    • 最终会调用 Java 的 org.apache.catalina.startup.Bootstrap 类来启动 Tomcat。
  4. 管理日志输出

    • 控制标准输出/错误日志的路径(默认重定向到 logs/catalina.out)。
  5. 调试支持

    • 支持调试模式(如 jpda start 启用远程调试)。

常见用法示例

1.启动 Tomcat

cd $CATALINA_HOME/bin  # 进入 Tomcat 的 bin 目录
./catalina.sh start    # 后台启动

2.前台运行(开发调试)

./catalina.sh run      # 日志直接输出到控制台

3.停止 Tomcat

./catalina.sh stop     # 优雅关闭

4.强制终止(kill)

如果 stop 无效,可以强制终止进程:

ps -ef | grep tomcat   # 查找 Tomcat 的 PID
kill -9 <PID>          # 强制终止

5.启用远程调试

./catalina.sh jpda start  # 默认监听 8000 端口

与其他脚本的关系

  • startup.sh / shutdown.sh
    这两个脚本实际是 catalina.sh 的快捷方式:

    • startup.sh → 调用 catalina.sh start
    • shutdown.sh → 调用 catalina.sh stop
      直接使用 catalina.sh 更灵活。
  • setenv.sh
    自定义环境变量脚本(需手动创建),catalina.sh 会自动加载它。

关键环境变量

变量名作用
CATALINA_HOMETomcat 安装目录
CATALINA_BASE多实例部署时的实例目录
JAVA_OPTSJVM 参数(内存、GC 等)
CATALINA_OPTSTomcat 专属 JVM 参数
CATALINA_OUT指定日志输出文件

注意事项

  1. 不要直接修改 catalina.sh
    自定义配置应通过 setenv.sh 或 JAVA_OPTS 实现。
  2. 权限问题
    确保脚本有可执行权限:
    chmod +x *.sh
    
  3. 多实例部署
    通过 CATALINA_BASE 区分不同实例的配置。

总结

catalina.sh 是 Tomcat 的核心控制脚本,负责:
✅ 启动/停止服务器
✅ 配置 JVM 和 Tomcat 环境
✅ 管理日志和调试
建议通过 setenv.sh 自定义配置,而非直接修改该脚本。

到此这篇关于Tomcat里catalina.sh的使用小结的文章就介绍到这了,更多相关Tomcat catalina.sh内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于tomcat下启动solr遇到的问题及解决

    关于tomcat下启动solr遇到的问题及解决

    这篇文章主要介绍了关于tomcat下启动solr遇到的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • tomcat9 下载安装和配置+整合到eclipse的教程详解

    tomcat9 下载安装和配置+整合到eclipse的教程详解

    这篇文章主要介绍了tomcat9 下载安装和配置+整合到eclipse,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • tomcat的webapps和ROOT目录的区别及说明

    tomcat的webapps和ROOT目录的区别及说明

    这篇文章主要介绍了tomcat的webapps和ROOT目录的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Linux小技巧分享之如何重新启动tomcat

    Linux小技巧分享之如何重新启动tomcat

    在Linux系统下,如何重启Tomcat呢?答曰:使用命令操作的!咳咳,这不是废话吗。其实tomcat的安装目录有关闭,重启的脚本的,只要执行他们就可以了,下面我们来详细说明下
    2014-08-08
  • Tomcat log日志的具体使用

    Tomcat log日志的具体使用

    Tomcat 生成各种日志文件来帮助管理员监控服务器运行状况和排查问题,本文主要介绍了Tomcat log日志的具体使用,具有一定的参考价值,感兴趣的了解一下
    2024-08-08
  • 解决Tomcat在修改代码后不会自动reload的问题

    解决Tomcat在修改代码后不会自动reload的问题

    下面小编就为大家分享一篇解决Tomcat在修改代码后不会自动reload的问题,具有很好的参考价值,希望对大家有所帮助
    2017-11-11
  • 一文详解tomcat中的jmx监控

    一文详解tomcat中的jmx监控

    本文我们将从使用和源码实现两个方面聊一下jmx的落地实现范例——tomcat中的jmx,tomcat作为一个web server,其选用jmx来实现监控功能,之所以选择jmx是因为jmx是java se原生的能力,本文将详细的给大家介绍一下tomcat中的jmx监控,需要的朋友可以参考下
    2024-06-06
  • Tomcat部署多个war包的方法步骤

    Tomcat部署多个war包的方法步骤

    这篇文章主要介绍了Tomcat部署多个war包的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Tomcat后台部署WAR包的完整流程

    Tomcat后台部署WAR包的完整流程

    Apache Tomcat提供了一个基于Web的管理界面,允许管理员通过图形化界面部署、管理Web应用程序,本文我们将重点讲解如何通过Manager App部署WAR包,需要的朋友可以参考下
    2025-07-07
  • Tomcat监测脚本的实现示例

    Tomcat监测脚本的实现示例

    这篇文章主要给大家介绍了Tomcat监测脚本的实现方法,文中给出了详细的示例代码和介绍,对大家具有一定的参考价值,有需要的朋友们下面来一起学习学习把。
    2017-01-01

最新评论