0赞
赏
赞赏
更多好文
适用人群:Java Web 开发初学者、运维人员、需要本地部署测试环境的开发者
更新日期:2026年2月(基于 Tomcat 10.1.x 系列)
核心提示:Tomcat 10+ 使用jakarta.*命名空间(Servlet 5.0+),旧项目若依赖javax.*(如 Spring Boot 2.x),请选用 Tomcat 9.0.x!
一、前置准备:确认 JDK 环境
Tomcat 依赖 Java 运行环境,必须先安装 JDK(非 JRE):
# 验证 JDK 是否安装
java -version
javac -version
# 推荐版本
# Tomcat 10.1.x → JDK 11+(兼容 JDK 8+)
# Tomcat 9.0.x → JDK 8+
✅ 若未安装:
- 官方下载:Oracle JDK
- 开源替代:Eclipse Temurin (Adoptium)
- Linux 快速安装(Ubuntu):
sudo apt install openjdk-17-jdk
二、下载 Tomcat(关键步骤!)
-
访问官网:https://tomcat.apache.org/download-10.cgi
(如需 Tomcat 9:https://tomcat.apache.org/download-90.cgi) -
选择版本(以 10.1.18 为例):
系统 推荐文件 说明 Windows apache-tomcat-10.1.18-windows-x64.zip解压即用版(强烈推荐) tomcat-10.1.18.exe安装程序版(自动注册服务) Linux/macOS apache-tomcat-10.1.18.tar.gz通用压缩包
⚠️ 重要提醒:
- 避免下载
deployer或source包 - 路径禁止包含中文、空格、特殊符号(如
Program Files) - 生产环境建议校验 SHA512 签名(官网提供)
三、安装与目录解析(全平台)
🪟 Windows(解压版)
:: 1. 解压到无空格路径(示例)
C:\dev\tomcat\apache-tomcat-10.1.18
:: 2. 目录结构说明
apache-tomcat-10.1.18/
├── bin/ ← 启动/停止脚本(.bat/.sh)
├── conf/ ← 核心配置文件(server.xml, tomcat-users.xml)
├── webapps/ ← Web应用部署目录(ROOT即首页)
├── logs/ ← 运行日志(catalina.out关键)
├── lib/ ← 共享JAR库
└── temp/ ← 临时文件
🐧 Linux(推荐手动解压)
# 1. 解压到/opt(需sudo权限)
sudo tar -xzvf apache-tomcat-10.1.18.tar.gz -C /opt
sudo mv /opt/apache-tomcat-10.1.18 /opt/tomcat
# 2. 创建专用用户(安全最佳实践)
sudo useradd -r -s /bin/false tomcat
sudo chown -R tomcat:tomcat /opt/tomcat
# 3. 赋予脚本执行权限
sudo chmod +x /opt/tomcat/bin/*.sh
🍎 macOS
# 方式1:手动解压(推荐)
sudo tar -xzvf apache-tomcat-*.tar.gz -C /Library
sudo mv /Library/apache-tomcat-* /Library/Tomcat
sudo chown -R $(whoami) /Library/Tomcat
# 方式2:Homebrew(版本可能滞后)
brew install tomcat@10 # 注意:brew install tomcat 默认为9.x
四、环境变量配置(可选但强烈推荐)
Windows
Win+R→sysdm.cpl→ 高级 → 环境变量- 新建系统变量:
CATALINA_HOME=C:\dev\tomcat\apache-tomcat-10.1.18
- 编辑
Path→ 新增%CATALINA_HOME%\bin
Linux/macOS(~/.bashrc 或 ~/.zshrc)
export CATALINA_HOME=/opt/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
# 生效:source ~/.bashrc
✅ 验证:终端输入 catalina version 应显示版本号
五、启动、验证与停止
启动
| 系统 | 命令 |
|---|---|
| Windows | startup.bat(双击或命令行) |
| Linux/macOS | ./startup.sh |
验证成功
- 浏览器访问:http://localhost:8080
→ 出现 Apache Tomcat 欢迎页即成功 ✅ - 检查日志:
- Windows:
logs\catalina.YYYY-MM-DD.log - Linux/macOS:
tail -f logs/catalina.out
- Windows:
停止服务
| 系统 | 命令 |
|---|---|
| Windows | shutdown.bat |
| Linux/macOS | ./shutdown.sh |
💡 若启动失败:
- 检查 8080 端口是否被占用(
netstat -ano | findstr :8080或lsof -i :8080) - 查看
logs/catalina.out错误日志 - 确认 JAVA_HOME 已正确设置
六、核心配置实战
🔧 1. 修改默认端口(解决冲突)
编辑 conf/server.xml:
<!-- 将8080改为8081(或其他空闲端口) -->
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
重启 Tomcat 生效
🔐 2. 启用管理界面(开发调试必备)
- 编辑
conf/tomcat-users.xml,在</tomcat-users>前添加:<role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="admin" password="StrongPass123!" roles="manager-gui,admin-gui"/> - 安全加固(避免远程攻击):
编辑webapps/manager/META-INF/context.xml,取消注释 Valve 并修改:<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> - 重启后访问:
📦 3. 部署 Web 应用
- 自动部署:将 WAR 包或项目文件夹放入
webapps/,重启自动解压 - 热部署:通过 Manager App 上传 WAR(需配置用户权限)
- 指定路径:在
conf/Catalina/localhost/创建myapp.xml:<Context docBase="/path/to/your/app" path="/myapp" reloadable="true"/>
七、生产环境安全加固(必读!)
| 风险点 | 解决方案 |
|---|---|
| 默认管理密码 | 修改 tomcat-users.xml 为高强度密码 |
| 暴露管理界面 | 删除 webapps/manager 和 host-manager(若无需远程管理) |
| 信息泄露 | 修改 conf/web.xml 中 listings 为 false(禁止目录浏览) |
| 未启用HTTPS | 配置 SSL Connector(参考官方文档配置证书) |
| 无防火墙 | 仅开放 8080/8443 端口,限制 IP 访问 |
| 以 root 运行 | Linux 创建专用用户运行(见第三部分) |
| 未更新 | 定期关注 Tomcat Security Notices |
✅ 最佳实践:
- 前置 Nginx/Apache 作反向代理(处理静态资源、SSL、负载均衡)
- 使用 systemd 管理 Linux 服务(提供开机自启、日志管理)
- 定期备份
conf/和webapps/目录
八、常见问题速查
| 问题现象 | 解决方案 |
|---|---|
| 启动闪退无日志 | 检查 JAVA_HOME 是否指向 JDK(非 JRE);命令行运行 catalina run 看实时输出 |
| 中文乱码 | conf/logging.properties 添加 java.util.logging.ConsoleHandler.encoding = UTF-8;启动脚本加 -Dfile.encoding=UTF-8 |
| Manager App 403 Forbidden | 检查 context.xml 的 IP 限制;确认用户角色配置正确 |
| Linux 启动权限拒绝 | chmod +x bin/*.sh;用非 root 用户运行 |
| macOS Gatekeeper 拦截 | 系统设置 → 隐私与安全性 → 允许“仍要打开” |
九、结语与延伸学习
✅ 你已掌握:
- 多平台 Tomcat 安装部署
- 核心配置与应用部署
- 安全加固关键点
📚 下一步建议:
- 阅读官方文档:Tomcat 10.1 Documentation
- 学习
server.xml高级配置(连接器优化、AJP、集群) - 实践 Nginx + Tomcat 反向代理部署
- 探索 Docker 部署方案(
docker run -p 8080:8080 tomcat:10.1)
最后提醒:开发环境可简化配置,生产环境务必遵循安全规范!技术迭代迅速,请以官网最新文档为准。祝你部署顺利,高效开发! 🚀
