Tomcat 启动日志“为空”通常不是真的没有任何输出,而是日志没有写到你以为的地方,或者进程根本没真正启动。下面按最常见原因逐一说明,并给出排查方法。
Tomcat 日志分散在多个文件中:
| 文件 | 内容 |
|---|---|
catalina.out |
标准输出(最常用) |
logs/catalina.YYYY-MM-DD.log |
按天滚动 |
logs/localhost.log |
应用相关 |
logs/manager.log |
manager 应用 |
✅ 正确查看方式:
tail -f logs/catalina.out
startup.sh 但没看 catalina.outstartup.sh 是后台启动:
bin/startup.sh
日志 不会打印在终端,而是写入 catalina.out
❌ 错误:
./startup.sh
# 然后看终端,发现什么都没有
✅ 正确:
tail -f logs/catalina.out
可能原因:
快速验证:
ps -ef | grep tomcat
netstat -an | grep 8080
如果进程不存在,说明启动失败。
Tomcat 启动依赖 Java:
echo $JAVA_HOME
java -version
若为空,编辑:
vi bin/setenv.sh
export JAVA_HOME=/usr/java/jdk1.8.0_xxx
conf/logging.properties 中可能被改为:
.level = OFF
✅ 建议:
.level = INFO
如果是:
systemctl start tomcat
日志不在 catalina.out,而在:
journalctl -u tomcat -f
catalina.outps -ef | grep tomcat
netstat -an | grep 8080
tail -f logs/catalina.out
echo $JAVA_HOME
如果你愿意,可以告诉我:
我可以直接帮你定位是哪一条原因。