温馨提示×

debian如何定位tomcat异常

小樊
42
2026-09-28 11:14:58
栏目: 智能运维

在 Debian 上“定位 Tomcat 异常”通常分为 系统级(Tomcat 起不来) 和 应用级(Tomcat 起来了但报异常) 两类。下面给你一套实用定位思路。


一、先确认 Tomcat 状态

1. 查看 Tomcat 是否在运行

systemctl status tomcat
# 或
ps -ef | grep tomcat

如果是 apt 安装的,服务名通常是:

  • tomcat9
  • tomcat10
systemctl status tomcat9

二、看 Tomcat 自身日志(最重要)

1. catalina.out(最常用)

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

常见路径:

/var/log/tomcat9/catalina.out
/var/log/tomcat/catalina.out

90% 的启动异常都在这里


2. 其他日志文件

/var/log/tomcat9/
├── catalina.out
├── catalina.YYYY-MM-DD.log
├── localhost.YYYY-MM-DD.log
├── host-manager.log
└── manager.log

重点看:

  • catalina.out:启动错误
  • localhost.log:应用部署错误

三、Tomcat 启动失败常见原因

1. 端口被占用

journalctl -xe
netstat -tunlp | grep 8080

或修改端口:

/etc/tomcat9/server.xml

2. Java 环境异常

java -version
which java

Debian 常见:

update-alternatives --list java

Tomcat 使用的 Java:

systemctl show tomcat9 | grep Environment

3. 权限问题(Debian 很常见)

Tomcat 通常用 tomcat 用户运行:

ls -l /var/lib/tomcat9/
ls -l /var/log/tomcat9/

修复权限示例:

chown -R tomcat:tomcat /var/lib/tomcat9/webapps

四、应用异常定位(Tomcat 正常启动)

1. 应用日志

应用自身日志一般不在 Tomcat 目录:

/var/log/your-app/
/opt/your-app/logs/

2. 堆栈异常

在 catalina.out 中搜索:

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

3. 类找不到 / 依赖问题

常见关键字:

  • ClassNotFoundException
  • NoClassDefFoundError
  • UnsupportedClassVersionError

说明:

  • JDK 版本不匹配
  • lib 没打进 war

五、使用 systemd 查底层错误

journalctl -u tomcat9 -xe

适合:

  • 启动直接失败
  • 权限 / 环境变量问题

六、开启 DEBUG(高级)

临时调试

export CATALINA_OPTS="-Djava.util.logging.level=FINE"

或修改:

/etc/tomcat9/logging.properties

七、快速定位 checklist(推荐)

1. systemctl status tomcat9
2. journalctl -u tomcat9 -xe
3. tail -f /var/log/tomcat9/catalina.out
4. netstat -tunlp | grep 8080
5. java -version
6. ls -l /var/lib/tomcat9/webapps

如果你愿意,可以把 具体报错信息 或 tomcat 版本 + Debian 版本 发出来,我可以直接帮你精确定位。

0 踩