温馨提示×

ubuntu tomcat日志报错怎么解决

小樊
36
2026-09-03 12:02:05
栏目: 智能运维

“Ubuntu 上 Tomcat 日志报错”这个范围比较广,不同错误对应不同解决办法。下面我按常见排查思路 + 典型错误及解决方式给你一个实用指南。


一、先确认日志在哪、看什么

Tomcat 日志一般在:

/var/log/tomcat9/        # Ubuntu 用 apt 安装(版本可能不同)
/path/to/tomcat/logs/    # 手动安装

重点看这几个文件:

  • catalina.out:最核心,启动和运行时错误
  • catalina.YYYY-MM-DD.log
  • localhost.YYYY-MM-DD.log
  • manager/host-manager 相关(权限问题)

查看实时日志:

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

二、常见报错及解决办法

1️⃣ 端口被占用(最常见)

日志类似:

Address already in use (Bind failed)

解决:

sudo netstat -tunlp | grep 8080

杀掉占用进程,或修改 server.xml

<Connector port="8080" .../>

改成其他端口,如 8081


2️⃣ Java 环境问题

日志:

Could not find or load main class
UnsupportedClassVersionError

检查:

java -version

Ubuntu 安装:

sudo apt install openjdk-11-jdk

并确保 JAVA_HOME 正确:

echo $JAVA_HOME

3️⃣ 权限不足

日志:

Permission denied

常见于:

  • 日志目录
  • webapps 目录

解决:

sudo chown -R tomcat:tomcat /var/lib/tomcat9
sudo chmod -R 755 /var/lib/tomcat9/webapps

4️⃣ 应用启动失败(项目报错)

日志:

SEVERE: Context [] startup failed
ClassNotFoundException
NullPointerException

说明:

  • 项目代码有问题
  • 依赖缺失(jar 包)
  • web.xml 配置错误

解决:

  • localhost 日志定位具体类
  • 确认 WEB-INF/lib 有依赖
  • 本地能跑,服务器不能跑 → 环境不一致

5️⃣ Tomcat 服务起不来

systemctl status tomcat9
journalctl -xe

常见原因:

  • JAVA_HOME 没配
  • 配置 XML 写错

修复配置后:

sudo systemctl restart tomcat9

三、建议你这样发给我更准确

你可以直接贴 catalina.out 里的报错片段,我可以直接帮你定位。

例如:

SEVERE: Failed to initialize end point
java.net.BindException: Address already in use

或者告诉我:

  • Ubuntu 版本
  • Tomcat 版本
  • 怎么安装的(apt / 压缩包)
  • 报错全文

我可以一步一步带你修 ✅

0