Debian 上 Tomcat 启动报错的原因非常多,下面我按最常见原因 → 排查方法给你一个系统性的说明。如果你能贴出 具体报错日志(如 catalina.out 或 systemctl status tomcat*),我可以精准定位。
Tomcat 依赖 JRE/JDK。
检查:
java -version
which java
Debian 常见情况:
JAVA_HOME 没配置解决:
apt install default-jdk
配置 JAVA_HOME(示例):
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
Tomcat 启动脚本可加在:
/etc/default/tomcat9
典型报错:
Address already in use
检查:
ss -lntp | grep 8080
解决:
server.xml<Connector port="8080" .../>
Debian 下 Tomcat 通常以 tomcat 用户运行。
常见错误:
/opt修复:
chown -R tomcat:tomcat /opt/tomcat
chmod +x /opt/tomcat/bin/*.sh
如果你用 systemctl start tomcat:
检查:
systemctl status tomcat9
journalctl -xe
常见错误:
CATALINA_HOME 不对JAVA_HOME 没写示例 unit 文件:
[Service]
Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"
一个错误的 war 包就能让 Tomcat 起不来。
排查:
rm -rf /var/lib/tomcat9/webapps/你的应用
再启动测试。
比如:
检查:
/usr/share/tomcat9/bin/catalina.sh configtest
报错:
Cannot allocate memory
解决: 修改:
/etc/default/tomcat9
JAVA_OPTS="-Xms256m -Xmx512m"
java -version
systemctl status tomcat9
journalctl -u tomcat9
cat /var/log/tomcat9/catalina.out
请把以下信息发我:
cat /etc/os-release)我可以直接告诉你是哪一行配置或环境导致的问题。