Tomcat 故障排查手册¶
文档概览¶
- 完整配置见 Tomcat 配置手册
- 命令见 Tomcat 命令和操作手册
1. 端口占用 / 启动失败¶
概要¶
startup.sh 后进程退出,或日志报 Address already in use。
排查步骤¶
- 检查 8080/8005/8009 是否被占用:
ss -lntp | grep -E '8080|8005|8009'。 - 核对
server.xml中Connector port与Server port无冲突。 - 查看
logs/catalina.out首屏异常栈。
2. 内存溢出 OOM / 频繁 Full GC¶
关键词¶
JAVA_OPTS / CATALINA_OPTS / OutOfMemoryError
排查步骤¶
- 确认
setenv.sh中堆大小(如-Xms/-Xmx)与容器/物理机匹配。 - 分析
HeapDumpOnOutOfMemoryError或 MAT 工具。 - 检查 Connector
maxThreads、应用 session 泄漏。
3. 应用 404 / 部署失败¶
排查步骤¶
- WAR 是否在
webapps/;autoDeploy/unpackWARs配置。 logs/localhost.*.log应用启动错误。conf/Catalina/localhost/是否有 context 覆盖。
4. 反向代理后 HTTPS/客户端 IP 错误¶
排查步骤¶
- 启用
RemoteIpValve或 AJPsecretRequired配置。 - 核对 Nginx
proxy_set_header X-Forwarded-*。 scheme/secure与redirectPort在 Connector 上是否正确。