在CentOS上排查RabbitMQ网络问题可按以下步骤进行:
检查服务状态
sudo systemctl status rabbitmq-server
确保服务已启动,未启动则执行:
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server # 设置开机自启
验证端口监听
netstat或ss命令检查RabbitMQ默认端口(5672、15672)是否监听:sudo netstat -tuln | grep -E '5672|15672'
# 或
sudo ss -tuln | grep -E '5672|15672'
若无LISTEN状态,可能端口未开放或配置错误。排查防火墙规则
sudo firewall-cmd --list-ports | grep -E '5672|15672'
若未开放,添加规则并重载:sudo firewall-cmd --add-port=5672/tcp --permanent
sudo firewall-cmd --add-port=15672/tcp --permanent
sudo firewall-cmd --reload
确认配置文件正确性
/etc/rabbitmq/rabbitmq.conf或rabbitmq-env.conf,确保tcp_listeners配置正确(如监听所有接口0.0.0.0或指定IP),且无语法错误。查看日志定位问题
/var/log/rabbitmq/),搜索ERROR或WARN级别日志,获取具体错误信息(如端口冲突、权限不足等)。测试网络连通性
ping测试服务器网络连通性,或通过telnet测试端口可达性:ping <RabbitMQ服务器IP>
telnet <RabbitMQ服务器IP> 5672
若telnet失败,可能是网络策略或防火墙拦截。检查资源使用情况
free -m # 查看内存使用
df -h /var/lib/rabbitmq # 查看数据目录磁盘空间
启用管理插件(可选)
http://服务器IP:15672:sudo rabbitmq-plugins enable rabbitmq_management
注:若为集群环境,还需检查节点间网络通信(如rabbitmqctl cluster_status)及Erlang Cookie一致性。