CentOS 下 RabbitMQ 启动不了,原因通常集中在 系统限制、依赖版本、端口/权限、SELinux、配置错误 等几类。下面按「最常见 → 较少见」给你一个排查清单。
systemctl status rabbitmq-server
journalctl -xe
rabbitmqctl status
把报错贴出来,基本就能定位 80% 的问题。
RabbitMQ 对 Erlang 版本要求很严格。
✅ 查看版本:
rabbitmqctl version
erl -version
❌ 常见错误:
yum install erlang 装了不兼容版本✅ 解决:
RabbitMQ 强依赖 hostname。
✅ 检查:
hostname
hostname -f
cat /etc/hosts
✅ 至少要有:
127.0.0.1 localhost
127.0.0.1 centos
或:
hostnamectl set-hostname rabbit
netstat -tunlp | grep -E '5672|25672|15672'
常见冲突:
ps aux | grep rabbit
pkill -9 beam
CentOS 默认限制低,RabbitMQ 起不来。
✅ 查看:
ulimit -n
✅ 解决(/etc/security/limits.conf):
rabbitmq soft nofile 65536
rabbitmq hard nofile 65536
并确认:
systemctl edit rabbitmq-server
[Service]
LimitNOFILE=65536
getenforce
如果是 Enforcing:
setenforce 0
或放行:
setsebool -P nis_enabled 1
默认目录:
/var/lib/rabbitmq
✅ 正确权限:
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
常见错误:
✅ 测试配置:
rabbitmq-diagnostics erlang_version
df -h
RabbitMQ 磁盘低于阈值会拒绝启动。
erl -version
rabbitmqctl version
hostname -f
ulimit -n
getenforce
df -h
systemctl status rabbitmq-server
请把以下信息发我:
cat /etc/redhat-release)journalctl -xe 或 systemctl status)我可以直接告诉你是哪一条导致起不来。