在 Ubuntu 上 Tomcat 启动后没有日志,通常不是 Tomcat 没运行,而是日志输出位置或配置问题。下面按常见原因逐一排查。
Tomcat 默认日志位置:
$TOMCAT_HOME/logs/catalina.out
查看方式:
tail -f /opt/tomcat/logs/catalina.out
如果你是用:
systemctl start tomcat
那日志可能不在 logs/,而在:
journalctl -u tomcat
如果你是通过 apt 安装的 Tomcat:
systemctl status tomcat
journalctl -u tomcat
✅ 默认不写 catalina.out,只写 systemd journal
如果你是:
./bin/startup.sh
但什么都没看到,这是正常的!
Tomcat 是后台启动,日志不会打印到终端。
正确查看:
tail -f logs/catalina.out
ls -ld /opt/tomcat/logs
如果属主不是运行 Tomcat 的用户(如 tomcat):
sudo chown -R tomcat:tomcat /opt/tomcat/logs
否则 Tomcat 启动失败但不报错
路径:
$TOMCAT_HOME/conf/logging.properties
检查是否有:
.handlers = 1catalina.org.apache.juli.FileHandler
如果 handlers 被清空,会完全没有日志
✅ 可用官方默认配置替换
Tomcat 启动失败但无日志:
echo $JAVA_HOME
Ubuntu 推荐:
sudo apt install default-jdk
并在:
/etc/environment
或
setenv.sh
中设置:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
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
你可以告诉我:
apt / 手动解压)startup.sh / systemctl)我可以直接给你对应修复命令。