CentOS 启动不了 Tomcat 的原因有很多,下面我按最常见原因 → 排查方法给你梳理一下,你可以对照看是哪一种。
Tomcat 必须依赖 JDK/JRE。
检查:
java -version
如果提示 command not found,说明没装 Java。
解决:
yum install java-1.8.0-openjdk-devel -y
然后确认:
which java
echo $JAVA_HOME
Tomcat 建议设置 JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
检查:
netstat -tunlp | grep 8080
# 或
ss -tunlp | grep 8080
解决:
conf/server.xml 里的端口CentOS 默认防火墙可能挡住 8080。
防火墙:
firewall-cmd --list-all
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
SELinux(测试用):
setenforce 0
如果这样能启动,说明是 SELinux 问题。
cd /opt/tomcat/bin
chmod +x *.sh
启动:
./startup.sh
看日志:
tail -f /opt/tomcat/logs/catalina.out
(路径按你的 Tomcat 实际位置)
常见错误:
如果你是:
systemctl start tomcat
但失败,看:
systemctl status tomcat
journalctl -xe
多半是:
systemctlservice tomcat startjava -version
echo $JAVA_HOME
netstat -tunlp | grep 8080
ls -l /opt/tomcat/bin/*.sh
tail -n 50 /opt/tomcat/logs/catalina.out
如果你愿意,可以把 报错信息或 catalina.out 的日志贴出来,我可以直接帮你定位具体原因。