温馨提示×

如何定位debian tomcat日志异常

小樊
47
2026-09-22 12:50:41
栏目: 智能运维

在 Debian 上排查 Tomcat 日志异常,可以按下面思路和步骤系统定位。


一、先确认 Tomcat 安装方式与路径

Debian 上 Tomcat 常见两种安装方式:

1. 通过 apt 安装(系统服务)

dpkg -l | grep tomcat

默认路径:

  • 配置:/etc/tomcat9/
  • 日志:/var/log/tomcat9/
  • 应用:/var/lib/tomcat9/webapps/

2. 手动安装(二进制包)

ps -ef | grep tomcat

catalina.shCATALINA_HOME 路径,例如:

/opt/tomcat/

日志目录通常是:

$CATALINA_HOME/logs/

二、Tomcat 核心日志文件说明

重点看这几个:

文件 作用
catalina.out 最全日志(标准输出+异常栈)
catalina.yyyy-mm-dd.log 启动/关闭日志
localhost.yyyy-mm-dd.log Web 应用相关异常
manager / host-manager 管理端日志

三、快速定位异常(实操命令)

1. 实时查看日志

tail -f /var/log/tomcat9/catalina.out

2. 搜索异常关键字

grep -i "exception" /var/log/tomcat9/catalina.out
grep -i "error" /var/log/tomcat9/catalina.out

3. 看最近 200 行

tail -n 200 /var/log/tomcat9/catalina.out

4. 按时间点定位

less /var/log/tomcat9/catalina.2026-01-21.log

或:

grep "21-Jan-2026" catalina.out

四、常见异常类型 & 对应原因

1. 启动失败

典型日志:

SEVERE: Failed to initialize component

常见原因:

  • 端口被占用(8080 / 8005)
  • server.xml 配置错误

检查端口:

ss -lntp | grep java

2. 应用 404 / 500

看:

/var/log/tomcat9/localhost.*.log

常见原因:

  • 项目未正确部署
  • web.xml 错误
  • Spring / Servlet 版本不兼容

3. OutOfMemoryError

日志示例:

java.lang.OutOfMemoryError: Java heap space

解决方向:

  • 修改 /etc/default/tomcat9
JAVA_OPTS="-Xms512m -Xmx1024m"

4. 权限问题(Debian 特有)

日志:

Permission denied

检查:

ls -ld /var/log/tomcat9
id tomcat

五、开启更详细日志(调试用)

修改 logging.properties

/etc/tomcat9/logging.properties

例如:

org.apache.catalina.level = FINE

六、系统级辅助排查

1. 看服务状态

systemctl status tomcat9
journalctl -u tomcat9 -n 100

2. 看系统资源

top
free -h
df -h

七、总结定位流程(推荐顺序)

  1. systemctl status
  2. catalina.out
  3. localhost.log
  4. grep Exception / Error
  5. 对照时间 + 部署动作

如果你愿意,可以把 具体异常日志片段Tomcat 版本 + Debian 版本 发出来,我可以直接帮你精确定位原因。

0