在Centos上安装和配置RabbitMQ是一项重要的任务,尤其是在需要高效消息传递和分布式系统的环境中,RabbitMQ是一个用Erlang语言编写的开源消息队列系统,支持高级消息队列协议(AMQP),本文将详细介绍如何在CentOS 7上安装RabbitMQ,并提供相关配置步骤。
一、安装Erlang
RabbitMQ依赖于Erlang运行环境,因此在安装RabbitMQ之前,首先需要安装Erlang,可以通过以下命令安装:

- 添加EPEL存储库
- rpm Uvh https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/Packages/e/epelrelease711.noarch.rpm
- 安装Erlang
- yum install erlang
二、下载并安装RabbitMQ
从官方网站下载RabbitMQ的RPM包并进行安装:
- 下载RabbitMQ
- wget https://www.rabbitmq.com/releases/rabbitmqserver/v3.6.15/rabbitmqserver3.6.151.el7.noarch.rpm
- 安装RabbitMQ
- yum install rabbitmqserver3.6.151.el7.noarch.rpm
三、启动和管理RabbitMQ服务
安装完成后,需要启动RabbitMQ服务并设置其开机自启:
- 启动RabbitMQ服务
- systemctl start rabbitmqserver
- 查看RabbitMQ服务状态
- systemctl status rabbitmqserver
- 设置开机自启
- systemctl enable rabbitmqserver
四、启用管理界面并配置用户权限
RabbitMQ提供了一个Web管理界面,可以通过浏览器进行管理,启用该插件并创建用户:
- 启用rabbitmq_management插件
- rabbitmqplugins enable rabbitmq_management
- 添加用户
- rabbitmqctl add_user admin password123
- 为用户设置所有权限
- rabbitmqctl set_permissions p / admin ".*" ".*" ".*"
- 设置用户为管理员
- rabbitmqctl set_user_tags admin administrator
五、配置防火墙和安全组
为了能够通过浏览器访问RabbitMQ的管理界面,需要配置防火墙和安全组规则,开放相应的端口:
- 编辑防火墙配置文件
- vim /usr/lib/firewalld/services/ssh.xml
- 加入以下内容以开放15672端口
- <service>
- <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the opensshserver package installed for this option to be useful.</description>
- <port protocol="tcp" port="22"/>
- <port protocol="tcp" port="15672"/>
- </service>
然后重启防火墙服务:
- systemctl restart firewalld
六、登录RabbitMQ管理界面
完成上述步骤后,可以通过浏览器访问RabbitMQ的管理界面:http://<IP>:15672,使用之前创建的用户名和密码登录。

七、常见问题解答(FAQs)
问:如何更改RabbitMQ默认的guest用户密码?
答:默认情况下,guest用户只能在本地登录且密码无法更改,建议创建一个新用户并赋予相应权限,然后删除guest用户。
问:如何设置RabbitMQ的高可用性?
答:可以通过配置镜像队列和集群来实现RabbitMQ的高可用性,具体步骤包括设置多个节点、配置集群以及启用镜像队列等,详细配置请参考官方文档。
通过以上步骤,您可以在CentOS 7上成功安装和配置RabbitMQ,并通过Web管理界面进行管理和监控,希望本文对您有所帮助!
