温馨提示×

debian如何调试tomcat

小樊
40
2026-07-10 00:19:55
栏目: 智能运维

在 Debian 上调试 Tomcat,通常分为 日志排查、启动参数调试、远程调试、性能/线程分析 等几个层面。下面按常见场景给你一个实用指南。


一、确认 Tomcat 安装方式

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

  1. APT 安装
sudo apt install tomcat9
  • 配置目录:/etc/tomcat9/
  • 日志目录:/var/log/tomcat9/
  • 服务管理:systemctl
  1. 手动安装(官方 tar.gz)
  • 目录自定义,如 /opt/tomcat/
  • 启动脚本:bin/startup.sh / catalina.sh

下面以 APT 安装的 Tomcat 9 为主说明,手动安装类似。


二、查看 Tomcat 日志(最常见)

1️⃣ 主要日志文件

/var/log/tomcat9/catalina.out
/var/log/tomcat9/localhost.*.log
/var/log/tomcat9/manager.*.log
/var/log/tomcat9/host-manager.*.log

查看实时日志:

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

2️⃣ 常见错误

  • 端口被占用
Address already in use
ss -lntp | grep 8080
  • Java 版本不兼容
java -version

三、以调试模式启动 Tomcat(本地调试)

方法 1:修改 systemd(推荐)

编辑服务文件:

sudo systemctl edit tomcat9

添加:

[Service]
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"

重启:

sudo systemctl restart tomcat9

检查端口:

ss -lntp | grep 8000

方法 2:直接用 catalina.sh(手动安装)

export CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
./bin/catalina.sh run

四、使用 IDE 远程调试(非常常用)

1️⃣ IDEA / Eclipse 连接

  • Host:Tomcat 所在服务器 IP
  • Port:8000
  • 使用 Socket Attach

⚠️ 注意:

  • 生产环境慎用
  • 防火墙放行 8000
  • suspend=y 可让 JVM 启动时等待调试器

五、调试 Tomcat 启动失败

1️⃣ 查看 systemd 报错

systemctl status tomcat9
journalctl -u tomcat9 -xe

2️⃣ 手动启动看详细错误

sudo -u tomcat9 /usr/share/tomcat9/bin/catalina.sh run

六、调试应用(Web 项目)

1️⃣ 打开应用日志

如果是 Spring / Log4j / Logback:

  • 检查 application.properties
  • 设置:
logging.level.root=DEBUG

2️⃣ 查看部署是否成功

ls /var/lib/tomcat9/webapps

七、线程与性能调试(进阶)

1️⃣ 查看 JVM 进程

jps -l

2️⃣ 线程分析

jstack <pid>

3️⃣ 内存分析

jmap -heap <pid>
jstat -gc <pid>

八、常见问题速查表

问题 排查方式
Tomcat 起不来 catalina.out
页面 404 webapps 是否正确
端口冲突 ss -lntp
Java 版本问题 java -version
应用无响应 jstack
内存溢出 jmap

九、建议调试流程(实战)

  1. 先看 catalina.out
  2. 确认端口、Java 版本
  3. catalina.sh run 启动
  4. 必要时开启远程调试
  5. jstack / jmap 查性能问题

如果你愿意,可以告诉我:

  • Debian 版本
  • Tomcat 版本
  • 报错日志(贴一段)

我可以 直接帮你定位问题

0