为确保RabbitMQ服务稳定运行,建议为服务器配置静态IP(避免DHCP动态分配导致IP变动)。需修改网络接口配置文件(路径通常为/etc/sysconfig/network-scripts/ifcfg-ensXX,ensXX为网卡名称,可通过ip a命令查看):
BOOTPROTO设置为static(静态模式);IPADDR(服务器IP地址)、NETMASK(子网掩码)、GATEWAY(默认网关)、DNS1/DNS2(DNS服务器);ONBOOT=yes(开机自动启用网络)。systemctl restart network(部分CentOS版本可能使用systemctl restart NetworkManager)。RabbitMQ依赖多个端口实现不同功能,需通过防火墙(CentOS 7及以上默认使用firewalld)开放这些端口:
rabbitmq_management插件后使用);epmd)端口(用于节点发现)。firewall-cmd --add-port=5672/tcp --permanent
firewall-cmd --add-port=15672/tcp --permanent
firewall-cmd --add-port=25672/tcp --permanent
firewall-cmd --add-port=4369/tcp --permanent
firewall-cmd --reload # 刷新防火墙规则
若使用iptables,需添加对应规则并保存。
RabbitMQ的Erlang进程依赖主机名进行节点识别,需确保:
hostnamectl set-hostname <自定义主机名>命令设置,如rabbitmq1);/etc/hosts文件中包含本机IP与主机名的映射(集群环境下需包含所有节点的IP和主机名)。/etc/hosts文件内容需包含:192.168.1.189 rabbitmq1
192.168.1.190 rabbitmq2
192.168.1.191 rabbitmq3
此配置可避免因主机名解析失败导致的集群连接问题。
通过修改RabbitMQ配置文件(路径为/etc/rabbitmq/rabbitmq.conf或/etc/rabbitmq/rabbitmq.config)调整监听设置:
tcp_listeners设置为["0.0.0.0:5672"](允许所有IP地址的5672端口访问);tcp_listeners设置为["<服务器IP>:5672"](如["192.168.1.189:5672"]);guest用户仅能通过localhost访问,需将loopback_users设置为空列表[](允许远程访问guest用户,生产环境建议创建专用用户)。[
{rabbit, [
{tcp_listeners, ["0.0.0.0:5672"]},
{loopback_users, []}
]}
].
修改配置后需重启RabbitMQ服务使更改生效:systemctl restart rabbitmq-server。
若需搭建RabbitMQ集群,除上述基础网络设置外,还需:
ping <其他节点IP>命令验证);/etc/hosts文件内容一致(包含所有节点的IP和主机名);/var/lib/rabbitmq/.erlang.cookie文件内容复制到所有节点的相同路径下,且文件权限设置为400)。以上设置涵盖了RabbitMQ在CentOS上的核心网络配置需求,可根据实际场景(如单机部署、集群部署、远程访问需求)调整具体参数。