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
在这里插入图片描述

备注:版本对应关系图参考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
在这里插入图片描述

扫描二维码关注公众号,回复: 15208292 查看本文章

五、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的用户角色主要有:nonemanagementpolicymakermonitoringadministrator

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,即可进入登录页面,如下:

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lingbomanbu_lyl/article/details/129911661
今日推荐