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实现多war包部署的方法步骤

    tomcat实现多war包部署的方法步骤

    本文主要介绍了tomcat实现多war包部署的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • 基于Tomcat安全配置与性能优化详解

    基于Tomcat安全配置与性能优化详解

    下面小编就为大家分享一篇基于Tomcat安全配置与性能优化详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Tomcat的webapps文件夹使用

    Tomcat的webapps文件夹使用

    这篇文章主要介绍了Tomcat的webapps文件夹使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 使用TomCat,service输出台出现乱码的解决

    使用TomCat,service输出台出现乱码的解决

    本文介绍了解决Tomcat服务输出台中文乱码问题的两种方法,第一种方法是修改`logging.properties`文件中的`prefix`和`encoding`参数;第二种方法是配置IDEA的VMoptions和文件编码设置,通过这两种方法,可以有效解决Tomcat服务输出台出现的乱码问题
    2025-01-01
  • Tomcat配置gzip压缩提高浏览网站的速度

    Tomcat配置gzip压缩提高浏览网站的速度

    HTTP 压缩可以大大提高浏览网站的速度,相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量
    2014-09-09
  • IDEA Maven项目使用debug模式运行Tomcat的详细教程

    IDEA Maven项目使用debug模式运行Tomcat的详细教程

    这篇文章主要介绍了IDEA Maven项目使用debug模式运行Tomcat的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Tomcat和Weblogic部署纯html文件过程解析

    Tomcat和Weblogic部署纯html文件过程解析

    这篇文章主要介绍了Tomcat和Weblogic部署纯html文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Tomcat 热部署的实现原理详解

    Tomcat 热部署的实现原理详解

    这篇文章主要介绍了Tomcat 热部署的实现原理详解的相关资料,需要的朋友可以参考下
    2017-01-01
  • tomcat异常解决(Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986)

    tomcat异常解决(Invalid character found in the request target. Th

    这篇文章主要介绍了tomcat 异常的解决方案,帮助大家排查错误,保持服务器的稳定,感兴趣的朋友可以了解下
    2020-10-10
  • 详解windows 10中Tomcat安装和部署的教程

    详解windows 10中Tomcat安装和部署的教程

    这篇文章主要介绍了windows 10中Tomcat安装和部署教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11

最新评论