Tomcat

Web 应用服务器、中间件

type
status
date
slug
summary
tags
category
icon
password

一、Tomcat 基础

1. 作用

  • Tomcat:Apache 开源的 Java Web 应用服务器,支持 Servlet 和 JSP
  • 常用于中小型 Web 项目的快速部署
  • 商业版/企业级替代品:WebLogicWebSphere金蝶 BOS
⚠️ 注意:Tomcat 不是完整的 Java EE 服务器,不支持 EJB 等高级特性。

二、安装 Tomcat

1. 下载地址

2. 安装 JDK

知识点补充
  • JDK 是 Tomcat 运行的基础,必须配置 JAVA_HOME
  • 建议使用 较新版本(如 JDK 11/17 LTS),JDK8 已逐渐老旧

3. 安装 Tomcat

配置环境变量:
JAVA_OPTS 优化建议
  • 生产环境推荐:
    • 避免默认堆内存过小导致频繁 GC

    4. 目录结构

    • bin/:启动/关闭脚本
    • conf/:配置文件(server.xmltomcat-users.xml
    • logs/:日志
    • webapps/:部署 Web 应用的目录

    5. 启动与验证

    • 8005 → Tomcat 内部关闭端口
    • 8080 → HTTP 服务端口

    6. 开机自启

    ⚠️ 注意事项
    • 在 CentOS 7+ 中,rc.local 默认可能没有执行权限,需要:
    bash chmod +x /etc/rc.d/rc.local

    三、部署 Java 项目流程

    1. 上传代码到 Git 平台

    2. 在服务器拉取代码


    3. 导入数据库

    4. 修改数据库配置

    编辑 src/main/resources/jdbc.properties
    ⚠️ 注意:com.mysql.jdbc.Driver 已过时,新版本应使用
    com.mysql.cj.jdbc.Driver,并加上 ?useSSL=false&serverTimezone=UTC

    5. 安装 Maven


    6. 修改 Maven 仓库地址

    编辑 /usr/local/maven36/conf/settings.xml
    👉 使用阿里云镜像可以大幅加速依赖下载

    7. 编译项目

    生成 .war 文件:

    8. 部署到 Tomcat

    若访问路径错误,可以修改 server.xml

    四、Tomcat 配置文件 server.xml 常见配置

    1. 实例端口
    1. HTTP 服务端口
    1. AJP 协议端口(建议禁用)
    ⚠️ 存在 Ghostcat 漏洞(CVE-2020-1938),除非必须,不要开启
    1. 项目目录
    1. 访问日志
    1. 线程池

    五、补充

    • 错误修正
      • 默认端口 8005 暴露风险,应禁用或修改
      • Tomcat 的管理页面(manager)应删除或加固密码
    • 流程补充
      • 使用 Jenkins/GitLab CI 实现自动化部署
      • 数据库连接可用配置中心(Nacos、Spring Cloud Config)统一管理

    六、总结速查表

    步骤
    关键点
    安装 JDK
    配置 JAVA_HOME
    安装 Tomcat
    配置 CATALINA_HOME,优化 JVM 参数
    部署代码
    Git 拉取代码 → 修改配置 → Maven 打包
    部署数据库
    导入 SQL,创建用户并授权
    部署到 Tomcat
    拷贝 war 包到 webapps,重启服务
    配置优化
    修改 server.xml,禁用 AJP,优化线程池

    Loading...