RabbitMQ服务未运行是连接失败的基础原因。若服务未启动,客户端无法与服务器建立通信。需通过systemctl status rabbitmq-server命令检查服务状态,若未运行,使用systemctl start rabbitmq-server启动,并通过systemctl enable rabbitmq-server设置开机自启。
NoRouteToHostException)或“连接超时”(SocketTimeoutException)。可通过ping命令测试网络连通性,telnet <IP> 5672测试端口可达性。Connection refused)。需通过firewall-cmd --add-port=5672/tcp --permanent开放端口,并firewall-cmd --reload重载规则;云服务器还需检查安全组配置。CentOS修改主机名后,若未在/etc/hosts文件中添加对应的IP与主机名映射,会导致节点间无法解析主机名(如rabbit@hostname格式),进而引发“节点不可达”或“连接超时”。需编辑/etc/hosts文件,添加<服务器IP> <主机名>条目(如192.168.1.100 rabbitmq-node1)。
guest,但仅允许本地连接;若使用远程连接或自定义用户,需确保用户名、密码正确(如guest用户的密码需修改为远程可用)。错误会返回“认证失败”(ACCESS_REFUSED)。/var/lib/rabbitmq/.erlang.cookie文件内容不一致(如复制节点时未同步),会导致“无法认证”错误。需确保所有节点的Cookie文件内容一致。/etc/rabbitmq/rabbitmq.conf中的listeners.tcp.default参数需正确设置监听地址(如0.0.0.0允许所有IP连接,192.168.1.100仅允许本地网络连接)。若配置错误,客户端无法连接到指定地址。/。若未创建自定义vhost(如/my_vhost)或连接时vhost名称错误,会返回“vhost未找到”(NOT_ALLOWED)。需通过rabbitmqctl add_vhost <vhost_name>创建vhost,并在连接URL中指定正确名称。free -m检查内存使用,df -h检查磁盘空间,调整阈值(如rabbitmqctl set_vm_memory_high_watermark 0.6设置内存阈值为60%)或扩容资源。rabbitmqctl list_connections查看当前连接数,调整系统限制(如ulimit -n 65535)或关闭不使用的连接。connection.options.heartbeat=30)或服务器心跳超时时间(heartbeat=30)。sysctl -w net.ipv4.tcp_keepalive_time=60)。iptables或firewalld可能默认拦截RabbitMQ端口。需通过iptables -L检查规则,或firewall-cmd --list-ports查看开放端口。getenforce检查状态,临时设置为“Permissive”模式(setenforce 0)或修改SELinux策略(semanage port -a -t rabbitmq_port_t -p tcp 5672)。