Linux中快速搭建RabbitMQ

简介: Linux中快速搭建RabbitMQ

一、简介


1、关于RabbitMQ


RabbitMQ是一个开源的AMQP实现,服务端用Erlang语言编写,支持多种客户端。用于在分布式系统存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。


2、RabbitMQ主要端口介绍


RabbitMQ会绑定一些端口,安装完后,需要将这些端口添加至防火墙。

  • 4369:Erlang的端口/节点名称映射程序,用来跟踪节点名称监听地址,在集群中起到一个类似DNS的作用。
  • 5672 / 5671:AMQP 0-9-1和1.0客户端端口,没有使用SSL和使用SSL的端口。
  • 15672:HTTP_API端口,管理员用户才能访问,用于管理RabbitMQ,需要启用management插件。
  • 25672:用于RabbitMQ节点见和CLI工具通信,配合4369使用。


二、RabbitMQ安装

1、安装依赖项socat

sudo yum install -y socat


2、下载Erlang和RabbitMQ


(1) Erlang和RabbitMQ版本关系要求


根据官方提供的ErlangRabbitMQ的版本对应关系图,以及操作系统版本。这里RabbitMQ的版本选择3.9.9Erlang的版本选择23.2


15677bd87548416b803a93d98cfc5933.png


备注:版本对应关系图参考ErlangRabbitMQ版本兼容性对比

(2) 下载操作系统支持的Erlang和RabbitMQ版本

直接下载RabbitMQ官网提供的Erlang rpm包,选择的版本为:erlang-23.2.7-2.el7

RabbitMQ选择的版本为:rabbitmq-server-3.9.9-1.el7

备注:由于CentOS的版本为7,这里下载的是该操作系统版本支持的最大Erlang版本。

(3) 安装Erlang和RabbitMQ


sudo rpm -Uvh /opt/appl/rabbitmq/erlang-23.2.7-2.el7.x86_64.rpm
sudo rpm -Uvh /opt/appl/rabbitmq/rabbitmq-server-3.9.9-1.el7.noarch.rpm

三、启动和关闭

1、启动服务

sudo systemctl start rabbitmq-server


2、查看状态

sudo systemctl status rabbitmq-server


3、停止服务

sudo systemctl stop rabbitmq-server


4、设置开机自启

sudo systemctl enable rabbitmq-server


四、RabbitMQ服务器配置

RabbitMQ有一套默认配置,能够满足日常开发需求,如果需要修改,需要自己创建一个配置文件。

touch /etc/rabbitmq/rabbitmq.conf


各操作系统配置文件默认位置如下图,配置文件示例请参考:rabbitmq.conf.example

ff7663e17b584bd5ab543d86bff8a0d2.png


五、RabbitMQ管理界面

1、开启插件

rabbitmq-plugins enable rabbitmq_management


2、添加用户

rabbitmqctl add_user admin admin


备注:这里我们添加了用户名和密码都为admin的用户。

3、为用户分配控制台操作权限

rabbitmqctl set_user_tags admin administrator


备注:这里的意思是给admin用户授予RabbitMQ管理控制台administrator角色。

4、为用户分配资源权限

rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"


备注:这里配置的是admin用户在virtual host “/” 下的资源读写等权限。

第1个 ".*"代表赋予实体配置权限。

第2个 ".*"代表赋予实体写权限。

第3个 ".*"代表赋予实体读权限。


5、RabbitMQ控制台角色介绍


RabbitMQ的用户角色主要有:none、management、policymaker、monitoring、administrator。


none:不能访问management plugin。


management:用户可以通过AMQP做任何事,外加:

  • 列出自己可以通过AMQP登入的virtual hosts。
  • 查看自己的virtual hosts中的queues,exchanges和bindings。
  • 查看和关闭自己的channels和connections。
  • 查看有关自己的virtual hosts的“全局”统计信息,包含其它用户在这些virtual hosts中的活动。

policymaker:除management角色外还可外加:

  • 查看、创建和删除自己的virtual hosts所属的policies和parameters。

monitoring:除management角色外还可外加:

  • 列出所有的virtual hosts,包括他们不能登录的virtual hosts。
  • 查看其它yoghurt的connections和channels。
  • 查看节点级别的数据,如clustering和memory使用情况。
  • 查看真正关于所有virtual hosts的全局统计信息。

administrator:除policymaker和monitoring还可以做:

  • 创建和删除virtual hosts。
  • 查看、创建和删除users。
  • 查看创建和删除permissions。
  • 关闭其它用户的connections。


6、登录RabbitMQ管理界面


前面提到过15672是RabbitMQ控制台端口,浏览器输入http://127.0.0.1:15672,即可进入登录页面,如下:


25e5be0c7156498fb9d0d0a1e3813ad6.png


备注:用户名和密码都为admin,前面我们已经授予了admin用户adminstrator角色。



a6f6578eb8284ab38e83e47282980b11.png


相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
6天前
|
消息中间件 Java Linux
Linux下RabbitMQ安装与使用
Linux下RabbitMQ安装与使用
48 1
|
6天前
|
消息中间件 Linux 网络安全
Linux下源码安装RabbitMQ并设置服务开机启动
Linux下源码安装RabbitMQ并设置服务开机启动
90 0
|
6天前
|
传感器 网络协议 物联网
在Linux中搭建Mosquitto MQTT协议消息服务端并结合内网穿透工具实现公网访问
Mosquitto是一个开源的消息代理,它实现了MQTT协议版本3.1和3.1.1。它可以在不同的平台上运行,包括Windows、Linux、macOS等。mosquitto可以用于物联网、传感器、移动应用程序等场景,提供了一种轻量级的、可靠的、基于发布/订阅模式的消息传递机制。
|
6天前
|
消息中间件 Java Linux
RabbitMQ教程:Linux下安装、基本命令与Spring Boot集成
RabbitMQ教程:Linux下安装、基本命令与Spring Boot集成
|
6天前
|
消息中间件 Linux 开发工具
Linux系统安装RabbitMQ详细教程
Linux系统安装RabbitMQ详细教程
36 0
|
6天前
|
消息中间件 Linux 网络安全
Linux环境安装RabbitMQ
Linux环境安装RabbitMQ
|
6天前
|
传感器 Linux 开发工具
Linux MQTT智能家居(ubantu和ARM中使用MQTT)
Linux MQTT智能家居(ubantu和ARM中使用MQTT)
96 0
|
6月前
|
消息中间件 数据可视化 Linux
如何在 Linux 上部署 RabbitMQ
RabbitMQ 是由 Erlang 语言编写的,也正因如此,在安装 RabbitMQ 之前需要安装 Erlang 。建议采用较新版的 Erlang ,这样可以获得较多更新和改进
60 0
|
9月前
|
消息中间件 Linux
centos7 yum快速安装rabbitmq服务
centos7 yum快速安装rabbitmq服务
144 0
|
9月前
|
消息中间件 中间件 微服务
RabbitMQ 入门简介及安装
RabbitMQ 入门简介及安装
91 0