Debian 上 Tomcat 报错的原因非常多,不能只说“报错”就定位问题,需要看具体报错内容。不过我可以先给你一个常见原因清单 + 排查思路,你对照一下,基本能找到问题。
Tomcat 启动第一关就是 Java。
检查:
java -version
Debian 常见情况:
如果没装:
sudo apt install default-jdk
报错类似:
Address already in use
检查:
ss -lntp | grep 8080
或
sudo netstat -lntp | grep 8080
解决:
/etc/tomcat9/server.xmlDebian 用 tomcat 用户运行,不是 root。
常见错误:
Permission denied
检查:
ls -ld /var/lib/tomcat9
ls -l /var/log/tomcat9
修复:
sudo chown -R tomcat:tomcat /var/lib/tomcat9
sudo chown -R tomcat:tomcat /var/log/tomcat9
报错在:
/var/log/tomcat9/catalina.out
常见:
Debian 有时不会自动设。
检查:
echo $JAVA_HOME
设置:
sudo nano /etc/default/tomcat9
加:
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
看真正错误:
sudo systemctl status tomcat9
sudo journalctl -u tomcat9 -xe
# 1. 看服务状态
systemctl status tomcat9
# 2. 看日志
tail -n 100 /var/log/tomcat9/catalina.out
# 3. 看 Java
java -version
# 4. 看端口
ss -lntp | grep 8080
请把下面任意一个贴出来:
catalina.out 最后 30 行systemctl status tomcat9 输出我可以直接告诉你哪一行错了、怎么改。