Linux 上 RabbitMQ 启动失败的原因有很多,下面按最常见 → 排查方法 → 解决办法给你梳理一下,你可以对照看是哪一种。
RabbitMQ 对 Erlang 版本有严格要求。
现象
ERROR: epmd error
Failed to start RabbitMQ
排查
rabbitmqctl status
erl -version
解决
RabbitMQ 依赖 hostname 解析。
现象
Node rabbit@xxx unavailable
排查
hostname
hostname -i
cat /etc/hosts
解决
确保 /etc/hosts 中有:
127.0.0.1 localhost
127.0.1.1 your-hostname
或修改 /etc/rabbitmq/rabbitmq-env.conf:
NODENAME=rabbit@localhost
关键端口
排查
ss -lntp | grep -E '4369|5672|25672'
解决
现象
cannot write to Mnesia directory
排查
ls -ld /var/lib/rabbitmq
解决
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
RabbitMQ 会直接拒绝启动。
df -h
rm -f /var/lib/rabbitmq/mnesia/rabbit@*/*
(谨慎操作,仅测试环境)
# 1. 看服务状态
systemctl status rabbitmq-server
# 2. 看日志(最重要)
journalctl -u rabbitmq-server -n 100
# 3. RabbitMQ 自身日志
cat /var/log/rabbitmq/rabbit@*.log
systemctl start rabbitmq-server
rabbitmqctl status
rabbitmqctl start_app
你把下面信息贴出来,我可以直接定位:
systemctl status rabbitmq-server 输出/var/log/rabbitmq/rabbit@*.log 报错片段我可以一步一步带你修 ✅