温馨提示×

Debian如何调试Tomcat错误

小樊
49
2026-08-20 08:39:32
栏目: 智能运维

在 Debian 上调试 Tomcat 错误,通常可以按下面几个层次来排查:日志、配置、权限、Java 环境、系统资源。下面给你一套比较系统的调试思路(适用于 Debian 10/11/12,Tomcat 8/9/10)。


一、确认 Tomcat 是否真的启动失败

1. 查看 Tomcat 状态

systemctl status tomcat9

(如果是 tomcat8 / tomcat10,替换即可)

常见状态:

  • active (running)
  • failed
  • activating ⚠️(可能卡住)

二、查看关键日志(最重要)

1. Tomcat 自身日志

cd /var/log/tomcat9
ls

重点文件:

  • catalina.out ✅(最重要)
  • localhost.log
  • manager.log
  • host-manager.log

实时查看:

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

常见错误示例:

  • Address already in use → 端口被占用
  • ClassNotFoundException → 包缺失
  • java.lang.OutOfMemoryError → 内存不足

2. systemd 日志

journalctl -u tomcat9 -xe

常用于:

  • 启动直接失败
  • 权限问题
  • Java 路径错误

三、检查端口是否被占用

Tomcat 默认端口:

  • 8080(HTTP)
  • 8005(SHUTDOWN)
  • 8443(HTTPS)

检查端口:

ss -lntp | grep 8080

netstat -lntp | grep 8080

如果被占用:

kill -9 PID

或修改端口:

/etc/tomcat9/server.xml

四、检查 Java 环境

1. Java 是否安装

java -version

2. Debian 上 Tomcat 使用的 Java

cat /etc/default/tomcat9

重点:

JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

如果 Java 路径错误,Tomcat 会直接启动失败。


五、权限问题(Debian 特有高发)

1. Tomcat 运行用户

Debian 默认使用:

tomcat9

查看:

ps aux | grep tomcat

2. 目录权限

chown -R tomcat9:tomcat9 /var/lib/tomcat9
chown -R tomcat9:tomcat9 /var/log/tomcat9
chown -R tomcat9:tomcat9 /etc/tomcat9

⚠️ 不要直接用 root 启动 Tomcat


六、手动启动 Tomcat(调试神器)

1. 停止服务

systemctl stop tomcat9

2. 手动启动

su - tomcat9
cd /usr/share/tomcat9/bin
./catalina.sh run

✅ 优点:

  • 错误信息直接输出到终端
  • 比 systemd 更直观

七、内存或 JVM 参数问题

编辑:

/etc/default/tomcat9

示例:

JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC"

如果内存设置过大,Debian 会直接 kill Tomcat。


八、应用部署错误

1. webapp 是否损坏

ls /var/lib/tomcat9/webapps

测试:

  • 删除应用
  • 只保留 ROOT
  • 重启 Tomcat

2. WAR 包问题

jar tf your.war

九、常见错误速查表

错误 原因 解决
404 路径错误 检查 webapps
500 应用异常 看 catalina.out
端口占用 8080 被占 改 server.xml
启动失败 Java 路径错 检查 JAVA_HOME
权限拒绝 目录权限 chown tomcat
内存溢出 JVM 设置 调整 Xmx

十、如果你愿意,我可以进一步帮你

你可以直接贴出:

  • catalina.out 报错
  • systemctl status tomcat9
  • 你访问的 URL 和返回结果

我可以 逐行帮你分析错误原因

0