Linux Rabbitmq 安装

rabbitmq 是基于 AMQP 协议的一种消息队列服务器。AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议。RabbitMQ 在小型创业公司和大型企业中有超过 3.5 万的生产部署,RabbitMQ 是最受欢迎的开源消息代理。

RabbitMQ 是轻量级的,并且可以很容易地部署在前提和云中。它支持多个消息传递协议。RabbitMQ 可以部署在分布式和联邦配置中,以满足高规模、高可用性需求。

RabbitMQ 在许多操作系统和云环境中运行,并为大多数流行语言提供了广泛的开发工具。

Rabbitmq 主要有以下几个特点:

  • 异步消息传递,支持多种消息传递协议、消息排队、交付确认、灵活路由到队列、多种交换类型。
  • 开发者友好,与BOSH、Chef、Docker和 Puppet 一起部署。使用最喜欢的编程语言开发跨语言的消息传递,例如:Java、.NET、PHP、Python、JavaScript、Ruby、Go,以及其他许多语言。
  • 分布式部署,作为集群部署,以获得高可用性和吞吐量;联合多个可用区域和区域。
  • 企业级 & 云,插入式的身份验证、授权、支持TLS和LDAP。轻量级且易于在公共云和私有云中部署。
  • 工具和插件,支持持续集成、操作度量和集成到其他企业系统的各种工具和插件。灵活的插件方法来扩展 RabbitMQ 功能。
  • 管理和监控,HTTP-API,命令行工具,以及用于管理和监控 RabbitMQ 的 UI。

下面是 Rabbitmq 的架构图:

这里写图片描述

这里面包含了 4 个角色:

  • Provider : 消息的创建者,发送到amqp的消息中间件
  • Consumer : 连接到amqp的消息中间件,订阅到队列上,进行消息的消费。分为持续订阅(basicConsumer)和单条订阅(basicGet)
  • Queue:队列是位于 RabbitMQ 内的一个邮筒的名称。尽管消息通过 RabbitMQ 和你的应用程序传递,但它们只能存储在队列中。队列只受主机的内存和磁盘限制的限制,它本质上是一个大的消息缓冲区。许多生产者可以发送到一个队列的消息,许多消费者可以尝试从一个队列接收数据
  • Exchange:队列通过路由键(routing key,某种确定的规则)绑定到交换器,生产者把消息发送到了交换器,交换器根据绑定的路由键将消息路由到特定的队列,订阅了队列的消费者进行接收。你可能想 我只想让消息到达队列而已,但是发布与订阅或者多播场景,就可以通过交换机轻松实现。

因为 Rabbitmq 是使用 erlang 写的,所以在 linux 系统中运行 Rabbitmq 需要安装 erlang 环境。之前我在 centos 7 虚拟机安装 erlang 21 ,然后再安装 rabbitmq-server 一直报错:安装的时候会提示需要erlang版本 >= 19.3。

这里写图片描述

然后再网上搜索找到了一篇文章解决这个问题。它是直接把 erlang 环境依赖加到了 yum 源中在安装 Rabbitmq 的时候,直接就安装了依赖的 erlang 环境。

1、erlang 添加 yum 源中

添加 rabbitmq-eralng 依赖到 yum 源中,安装 rabbitmq-server 的时候会依赖安装 erlang 环境。

#vim /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
#yum clean all
#yum makecache

2 安装 rabbitmq

然后到 官方网站 下载 RabbitMQ 的 RPM包. 使用 yum 进行安装,yum 会自动去源里安装依赖包

wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.7/rabbitmq-server-3.7.7-1.el7.noarch.rpm
yum install rabbitmq-server-3.7.7-1.el7.noarch.rpm

3、启动 Rabbitmq

# 启动RabbitMQ服务
service rabbitmq-server start
# 状态查看
rabbitmqctl status
# 启用插件
rabbitmq-plugins enable rabbitmq_management
# 重启服务
service rabbitmq-server restart
# 添加帐号:name 密码:passwd
rabbitmqctl add_user name passwd
# 赋予其administrator角色
rabbitmqctl set_user_tags name administrator
# 设置权限
rabbitmqctl set_permissions -p / name ".*" ".*" ".*"

然后进入 http://ip:15672 进入web管理页面了(外部访问别忘记修改防火墙)。

参考地址:

发布了173 篇原创文章 · 获赞 221 · 访问量 70万+

猜你喜欢

转载自blog.csdn.net/u012410733/article/details/81585574