在传统的Web应用中,用户发起一个请求后,服务器需要立即处理并返回结果。但当遇到耗时操作(如发送大量邮件、生成报表、处理图片等)时,用户可能需要等待很长时间,体验会很差。消息队列(Message Queue)就是为解决这类问题而生的。

微信扫一扫

RabbitMQ在CentOS 7上的安装与简单配置指南

原创 小蒋 爱名网(22科技集团)
关注
10
2小时前

背景:为什么需要消息队列?

在传统的Web应用中,用户发起一个请求后,服务器需要立即处理并返回结果。但当遇到耗时操作(如发送大量邮件、生成报表、处理图片等)时,用户可能需要等待很长时间,体验会很差。

消息队列(Message Queue)就是为解决这类问题而生的。它的核心思想是:将同步的、耗时的操作,转变为异步的、后台处理的任务。当用户发起一个耗时请求时,服务器只需将任务“丢”进消息队列,立刻告诉用户“已收到,正在处理”,而后台的工作进程则从队列中取出任务并实际执行。

RabbitMQ就是实现这一模式的最流行的开源消息中间件之一。它基于AMQP(高级消息队列协议),以稳定、灵活、功能丰富著称,被广泛应用于分布式系统、微服务架构、异步任务处理等场景。

本教程面向的是需要在CentOS 7系统上从零开始部署RabbitMQ的开发或运维人员,将涵盖从安装Erlang环境、安装RabbitMQ服务、到创建用户、设置虚拟主机和权限的完整流程。

安装与配置步骤

1. 准备工作:版本匹配与软件下载

RabbitMQ使用Erlang语言开发,因此两者版本必须严格匹配。

  • 查看版本对应关系:官方文档(https://www.rabbitmq.com/docs/which-erlang)提供了详细的版本对照表。在安装前务必查询,避免因版本不兼容导致服务无法启动。

  • 软件下载:本例中使用的安装包为:

    • Erlang包erlang-23.3.4.4-1.el7.x86_64.rpm

    • RabbitMQ包rabbitmq-server-3.8.19-1.el7.noarch.rpm

提示:在实际生产环境中,可以直接使用官方提供的Yum源或通过包管理器(如yum install erlang rabbitmq-server)进行安装,这样可以自动解决依赖关系,是更推荐的方式。本文使用RPM包手动安装,适用于网络受限或需要特定版本的环境。

2. 安装Erlang

将下载的Erlang RPM包上传至服务器后,执行安装命令:

bash

yum install erlang-23.3.4.4-1.el7.x86_64.rpm

3. 安装RabbitMQ Server

使用类似方法安装RabbitMQ服务:

bash

yum install rabbitmq-server-3.8.19-1.el7.noarch.rpm

4. 启动与停止服务

安装完成后,可以使用systemctl命令管理RabbitMQ服务:

  • 启动服务systemctl start rabbitmq-server

  • 验证启动:默认端口5672(AMQP协议)出现监听即表示启动成功。

  • 停止服务systemctl stop rabbitmq-server

5. 开启Web管理界面

RabbitMQ提供了一个强大的Web可视化管理工具,方便查看队列、连接、交换器等状态。

bash

rabbitmq-plugins enable rabbitmq_management

启用后,可通过http://服务器IP:15672访问管理后台(注意需要在防火墙和安全组中放行15672端口)。

6. 用户管理

RabbitMQ默认的guest用户只能从localhost登录,因此我们需要创建新用户并授权。

  • 创建用户rabbitmqctl add_user <用户名> <密码>。例如:rabbitmqctl add_user sanqing 111111

  • 修改密码rabbitmqctl change_password sanqing 222222

  • 查看用户列表rabbitmqctl list_users

  • 设置用户角色:RabbitMQ有四种角色:administrator(最高权限)、monitoring(监控)、policymaker(策略制定者)、management(普通管理)。使用以下命令设置:

    bash

    rabbitmqctl set_user_tags sanqing administrator

7. 虚拟主机(Virtual Host)与权限设置

虚拟主机(vhost)是RabbitMQ中独立的、隔离的消息队列环境,类似“命名空间”。

  • 创建vhostrabbitmqctl add_vhost order(创建一个名为order的vhost)。

  • 查看所有vhostrabbitmqctl list_vhosts

  • 分配用户权限:为用户sanqingorder vhost上授予配置(.*)、写(.*)、读(.*)的所有权限:

    bash

    rabbitmqctl set_permissions -p order sanqing '.*' '.*' '.*'

总结

通过以上步骤,我们成功在CentOS 7服务器上完成了RabbitMQ的安装和基本配置,并通过Web管理界面验证了服务的可用性。



关键配置项说明
服务启动systemctl start rabbitmq-server
管理插件rabbitmq-plugins enable rabbitmq_management
Web访问http://IP:15672
用户管理rabbitmqctl add_user / set_user_tags
vhost管理rabbitmqctl add_vhost / set_permissions

RabbitMQ的安装只是第一步,后续会更新RabbitMQ的使用。

分享 0 曝光 206 浏览 10 互动 0

获取域名与品牌保护服务

请告诉我在域名、商标、品牌或知识产权保护等需求或遇到的问题,我们会尽快联系您,为您提供最优质的服务。

提交成功,感谢您的参与

支持 反馈 管理

长按下方二维码,加我微信

微信号
复制微信号

打开微信加我好友

爱名网

通过微信关注公众号