温馨提示×

tomcat启动无日志ubuntu为何

小樊
37
2026-09-12 11:43:37
栏目: 智能运维

Ubuntu 上 Tomcat 启动后没有日志,通常不是 Tomcat 没运行,而是日志输出位置或配置问题。下面按常见原因逐一排查。


一、最常见原因

1️⃣ 日志其实有,只是你没看对地方

Tomcat 默认日志位置:

$TOMCAT_HOME/logs/catalina.out

查看方式:

tail -f /opt/tomcat/logs/catalina.out

如果你是用:

systemctl start tomcat

那日志可能不在 logs/,而在:

journalctl -u tomcat

2️⃣ Ubuntu 用 systemd 启动 Tomcat(最常见)

如果你是通过 apt 安装的 Tomcat:

systemctl status tomcat
journalctl -u tomcat

默认不写 catalina.out,只写 systemd journal


二、Tomcat 启动脚本方式问题

3️⃣ 使用 startup.sh 但没输出

如果你是:

./bin/startup.sh

但什么都没看到,这是正常的

Tomcat 是后台启动,日志不会打印到终端。

正确查看:

tail -f logs/catalina.out

三、权限问题(Ubuntu 很常见)

4️⃣ logs 目录没有写权限

ls -ld /opt/tomcat/logs

如果属主不是运行 Tomcat 的用户(如 tomcat):

sudo chown -R tomcat:tomcat /opt/tomcat/logs

否则 Tomcat 启动失败但不报错


四、logging.properties 被改坏

5️⃣ logging.properties 配置异常

路径:

$TOMCAT_HOME/conf/logging.properties

检查是否有:

.handlers = 1catalina.org.apache.juli.FileHandler

如果 handlers 被清空,会完全没有日志

✅ 可用官方默认配置替换


五、JDK / 环境变量问题

6️⃣ JAVA_HOME 没设置

Tomcat 启动失败但无日志:

echo $JAVA_HOME

Ubuntu 推荐:

sudo apt install default-jdk

并在:

/etc/environment

setenv.sh

中设置:

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

六、Tomcat 根本没启动

7️⃣ 进程是否存在

ps aux | grep tomcat

或:

ss -lntp | grep 8080

如果没进程 → 启动失败但被静默吞掉


七、快速自检清单 ✅

# 1. 是否在运行
ps aux | grep tomcat

# 2. 日志在哪
tail -f logs/catalina.out
journalctl -u tomcat

# 3. 权限
ls -l logs/

# 4. Java
echo $JAVA_HOME

# 5. 端口
ss -lntp | grep 8080

八、如果你愿意,我可以更精准帮你

你可以告诉我:

  1. Tomcat 版本(8 / 9 / 10)
  2. 安装方式(apt / 手动解压)
  3. 启动方式(startup.sh / systemctl
  4. Ubuntu 版本

我可以直接给你对应修复命令

0