Skip to content

Tomcat 在 FlyEnv 中

Apache Tomcat 是开源 Java Servlet 容器,用于运行打包为 WAR 文件的 Java Web 应用;当项目是基于 Servlet 的应用而非自包含 jar 时就需要它。FlyEnv 将 Apache Tomcat 作为托管服务运行:并行安装多个版本,为每个版本分配独立 CATALINA_BASE,在内置编辑器中修改 server.xmlweb.xml,无需打开终端即可查看 catalina.out。Tomcat 需要 JDK,FlyEnv 会从 Java 模块环境读取 JAVA_HOME。Tomcat 类型的本地站点会直接写入 server.xml 的 Host 条目,由 Tomcat 自身提供服务,而不是经过其他 Web 服务器。

FlyEnv Tomcat 模块概览截图

版本管理说明

版本管理器选项卡并行安装多个 Tomcat 版本,并可随时切换。

  • 安装源: macOS、Linux 和 Windows 提供静态构建,macOS 和 Linux 还支持 Homebrew(FlyEnv 会搜索 tomcattomcat@x 公式)。Tomcat 不使用 MacPorts 或 SDKMAN。
  • 按版本设置基础目录: 每个版本都有独立 CATALINA_BASE,默认位于 FlyEnv 数据目录下按主版本划分的文件夹,因此多个版本配置互不影响。

FlyEnv Tomcat 版本管理器及静态、Homebrew 安装来源截图

服务管理

服务选项卡启动、停止或重启每个 Tomcat 版本,环境变量按版本自动处理。

  • 按版本设置 CATALINA_BASE: 服务选项卡显示版本 CATALINA_BASE 路径,可修改且按版本保存。首次启动时,FlyEnv 从安装目录复制 conf 文件创建基础目录。
  • 从 Java 模块获取 JAVA_HOME: Tomcat 需要 Java,FlyEnv 从Java 模块同步环境并提供 JAVA_HOME,运行中的 Tomcat 使用你在 FlyEnv 管理的 JDK。Java 开发环境指南介绍 JDK 安装和切换。
  • 平台原生启动: macOS 设置 CATALINA_BASE、CATALINA_PID 和 JAVA_HOME 后以前台方式运行 catalina.sh run,控制台输出写入 logs/catalina.out;Windows 通过 startup.bat 启动并由 FlyEnv 查找 JVM 进程;Linux 通过 root helper 运行。

FlyEnv Tomcat 服务选项卡及可编辑 CATALINA_BASE 行截图

配置

每个 Tomcat 版本的配置都位于其 CATALINA_BASE,可直接从 FlyEnv 编辑,无需在目录中查找。

  • server.xmlweb.xml 选项卡: 模块为最常修改的两个文件提供独立选项卡和原始编辑器。
  • 更多配置文件: 还支持 context.xmltomcat-users.xmllogging.propertiescatalina.propertiescatalina.policy

FlyEnv 编辑 Tomcat 版本的 server.xml 截图

站点集成

在 FlyEnv 中创建 Tomcat 类型站点时,不会生成反向代理虚拟主机,而是将真实 Tomcat <Host> 条目直接同步到版本的 server.xml。站点创建方式与其他类型相同,请参阅 Host 指南

  • 同步与回滚: 保存站点时,FlyEnv 重写 server.xml 中的 Host 条目并保留快照,更新失败时可回滚文件。
  • 按站点配置 SSL: Tomcat 站点支持证书和密钥形式的 HTTPS,也支持 FlyEnv 自动证书;删除站点时会清理自动生成的证书。
  • 不经过其他 Web 服务器流程: Tomcat 站点不会参与 Nginx、Apache、Caddy 和 FrankenPHP 虚拟主机生成,由 Tomcat 自身提供服务。其他服务器站点请参阅本地站点、自定义域名与 HTTPS,完整 Java Web 技术栈请参阅 Spring Boot 解决方案

FlyEnv 将 Tomcat 类型站点作为 Host 条目同步到 server.xml 截图

日志

日志选项卡打开 Tomcat 控制台日志,并提供搜索和刷新功能。macOS 和 Linux 读取版本 CATALINA_BASE 下的 logs/catalina.out;Windows 读取带日期的 catalina.<yyyy-MM-dd>.log 文件。

继续阅读实用指南、解决方案、演示或社区文章。

兼容性说明

FlyEnv 管理本地 Tomcat 运行时、按版本配置和站点 Host 条目,但不会捆绑 Tomcat Manager Web 应用,也不保证每个 Tomcat 版本都能从所有操作系统的每种安装源获得。请根据 Tomcat 版本要求核对已安装 Java 版本,并以下载页面和当前发行说明为支持软件包来源。