在 Debian 上“定位 Tomcat 异常”通常分为 系统级(Tomcat 起不来) 和 应用级(Tomcat 起来了但报异常) 两类。下面给你一套实用定位思路。
systemctl status tomcat
# 或
ps -ef | grep tomcat
如果是 apt 安装的,服务名通常是:
tomcat9tomcat10systemctl status tomcat9
tail -f /var/log/tomcat9/catalina.out
常见路径:
/var/log/tomcat9/catalina.out
/var/log/tomcat/catalina.out
90% 的启动异常都在这里
/var/log/tomcat9/
├── catalina.out
├── catalina.YYYY-MM-DD.log
├── localhost.YYYY-MM-DD.log
├── host-manager.log
└── manager.log
重点看:
catalina.out:启动错误localhost.log:应用部署错误journalctl -xe
netstat -tunlp | grep 8080
或修改端口:
/etc/tomcat9/server.xml
java -version
which java
Debian 常见:
update-alternatives --list java
Tomcat 使用的 Java:
systemctl show tomcat9 | grep Environment
Tomcat 通常用 tomcat 用户运行:
ls -l /var/lib/tomcat9/
ls -l /var/log/tomcat9/
修复权限示例:
chown -R tomcat:tomcat /var/lib/tomcat9/webapps
应用自身日志一般不在 Tomcat 目录:
/var/log/your-app/
/opt/your-app/logs/
在 catalina.out 中搜索:
grep -i exception /var/log/tomcat9/catalina.out
grep -i error /var/log/tomcat9/catalina.out
常见关键字:
ClassNotFoundExceptionNoClassDefFoundErrorUnsupportedClassVersionError说明:
journalctl -u tomcat9 -xe
适合:
export CATALINA_OPTS="-Djava.util.logging.level=FINE"
或修改:
/etc/tomcat9/logging.properties
1. systemctl status tomcat9
2. journalctl -u tomcat9 -xe
3. tail -f /var/log/tomcat9/catalina.out
4. netstat -tunlp | grep 8080
5. java -version
6. ls -l /var/lib/tomcat9/webapps
如果你愿意,可以把 具体报错信息 或 tomcat 版本 + Debian 版本 发出来,我可以直接帮你精确定位。