Debian 上 Tomcat 启动失败的原因有很多,通常需要看具体报错日志才能准确判断。下面我按最常见原因 → 排查方法 → 解决思路给你一个系统性的清单,基本能覆盖 90% 的情况。
Tomcat 启动失败,第一件事就是看日志:
# Debian 包安装的 Tomcat
journalctl -u tomcat9
# 或
cat /var/log/tomcat9/catalina.out
cat /var/log/tomcat9/catalina.yyyy-mm-dd.log
如果是手动解压版 Tomcat:
cd /opt/tomcat/logs
cat catalina.out
Tomcat 依赖 Java。
java -version
解决:
apt install default-jdk
Tomcat 版本对应 Java:
常见错误:
Address already in use
查看端口:
ss -tlnp | grep 8080
解决:
/etc/tomcat9/server.xml 或 conf/server.xml)Debian 的 tomcat 用户是 tomcat 或 tomcat9
常见错误:
Permission denied
检查:
ls -ld /var/lib/tomcat9
ls -l /var/log/tomcat9
解决:
chown -R tomcat:tomcat /var/lib/tomcat9
chmod 755 /var/lib/tomcat9
部署的 WAR 包有问题:
日志特征:
ClassNotFoundException
NoClassDefFoundError
解决:
Debian 用 systemd:
systemctl status tomcat9
如果失败:
systemctl start tomcat9
systemctl enable tomcat9
Tomcat 启动脚本找不到 Java。
检查:
echo $JAVA_HOME
设置:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
你可以对照一下:
java -version 正常你可以直接把启动失败的日志贴出来(尤其是 catalina.out 的前 30 行),我可以:
你是 apt 安装的 Tomcat 还是 自己解压的?