温馨提示×

centos tomcat为何启动失败

小樊
65
2026-10-14 18:37:22
栏目: 智能运维

CentOS 上 Tomcat 启动失败 的原因很多,下面按最常见原因 → 排查方法给你一个系统性的排查清单,你可以逐条对照。


一、先看错误信息(最关键)

# 前台启动,看具体报错
cd /opt/tomcat/bin
./catalina.sh run

或查看日志:

tail -n 200 /opt/tomcat/logs/catalina.out

二、最常见原因及解决办法

1️⃣ Java 未安装或 JAVA_HOME 配置错误(最常见)

现象

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

解决

java -version

安装 JDK:

yum install -y java-1.8.0-openjdk-devel

配置环境变量:

vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile

2️⃣ 端口被占用(8080 / 8005 / 8009)

现象

Address already in use

查看端口

netstat -tunlp | grep 8080

解决

  • 杀掉占用进程
kill -9 PID

或

  • 修改 Tomcat 端口
vi /opt/tomcat/conf/server.xml

改 <Connector port="8080">


3️⃣ 权限不足(CentOS 常见)

现象

Permission denied

解决

chown -R tomcat:tomcat /opt/tomcat
chmod +x /opt/tomcat/bin/*.sh

如果你用 root 启动过,再切普通用户会出权限问题。


4️⃣ SELinux 阻止(CentOS 特有)

现象 Tomcat 启动但无法访问,或启动直接失败

排查

getenforce

临时关闭

setenforce 0

永久关闭

vi /etc/selinux/config
SELINUX=disabled

5️⃣ 防火墙未放行端口

firewall-cmd --state
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload

6️⃣ server.xml 配置错误

现象

Parse Fatal Error

解决

  • 检查 XML 是否闭合
  • 是否改坏了 Connector / Host

7️⃣ 内存不足(OOM)

现象

Cannot allocate memory

解决 修改:

vi /opt/tomcat/bin/catalina.sh

加:

JAVA_OPTS="-Xms256m -Xmx512m"

8️⃣ 项目 WAR 包有问题

现象 Tomcat 启动,但应用报错

排查

ls /opt/tomcat/webapps

可先移走 WAR 再启动测试。


三、快速自检清单 ✅

  • [ ] java -version 正常
  • [ ] JAVA_HOME 配置正确
  • [ ] 端口未被占用
  • [ ] Tomcat 目录权限正确
  • [ ] SELinux / 防火墙已处理
  • [ ] catalina.out 无报错

四、如果你愿意

你可以直接把 catalina.out 报错内容 或 启动命令输出 贴出来,我可以帮你精准定位是哪一条原因。

0 踩