1.RabbitMQ入门及安装

1.1.概述

官网:https://www.rabbitmq.com/
什么是RabbitMQ,官方给出来这样的解释:

RabbitMQ is the most widely deployed open source message broker.
With tens of thousands of users, RabbitMQ is one of the most popular open source message brokers. From T-Mobile to Runtastic, RabbitMQ is used worldwide at small startups and large enterprises.
RabbitMQ is lightweight and easy to deploy on premises and in the cloud. It supports multiple messaging protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.
RabbitMQ runs on many operating systems and cloud environments, and provides a wide range of developer tools for most popular languages.
翻译以后:
RabbitMQ是部署最广泛的开源消息代理。
RabbitMQ拥有成千上万的用户,是最受欢迎的开源消息代理之一。从T-Mobile 到Runtastic,RabbitMQ在全球范围内的小型初创企业和大型企业中都得到使用。
RabbitMQ轻巧,易于在内部和云中部署。它支持多种消息传递协议。RabbitMQ可以部署在分布式和联合配置中,以满足大规模,高可用性的要求。
RabbitMQ可在许多操作系统和云环境上运行,并为大多数流行语言提供了广泛的开发人员工具。

简单概述:
RabbitMQ是一个开源的遵循AMQP协议实现的基于Erlang语言编写,支持多种客户端(多语言)。用于在分布式系统中存储消息,转发消息,具有高可用,高可扩性,易用性等特征。

 

1.2.安装RabbitMQ

1:下载地址:https://www.rabbitmq.com/download.html
2:环境准备:CentOS7.x+ / Erlang
RabbitMQ是采用Erlang语言开发的,所以系统环境必须提供Erlang环境,第一步就是安装Erlang。

erlang和RabbitMQ版本的按照比较: https://www.rabbitmq.com/which-erlang.html
【MQ中间件】RabbitMQ -- RabbitMQ入门及安装配置(1)_RabbitMQ

1.3.Erlang安装

查看系统版本号

[root@yifcloud ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 8.3.2011Release:        8.3.2011Codename:       n/a

安装下载

参考地址:https://www.erlang-solutions.com/downloads/

wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpmrpm -Uvh erlang-solutions-2.0-1.noarch.rpm

推荐下载rpm安装包后使用Xftp工具上传至云服务器后安装。

安装erlang

yum install -y erlang

环境验证

erl -v  #查看版本号

安装socat

yum install -y socat  #rabbitmq运行依赖包

 

1.4.安装rabbitmq

下载地址:https://www.rabbitmq.com/download.html

【MQ中间件】RabbitMQ -- RabbitMQ入门及安装配置(1)_RabbitMQ_02

下载rabbitmq

> wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.13/rabbitmq-server-3.8.13-1.el8.noarch.rpm> rpm -Uvh rabbitmq-server-3.8.13-1.el8.noarch.rpm

启动rabbitmq服务

# 启动服务> systemctl start rabbitmq-server
# 查看服务状态> systemctl status rabbitmq-server
# 停止服务> systemctl stop rabbitmq-server
# 开机启动服务> systemctl enable rabbitmq-server

 

1.5.RabbitMQ的配置

RabbitMQ默认情况下有一个配置文件,定义了RabbitMQ的相关配置信息,默认情况下能够满足日常的开发需求。如果需要修改需要,需要自己创建一个配置文件进行覆盖。
参考官网:
1:https://www.rabbitmq.com/documentation.html
2:https://www.rabbitmq.com/configure.html
3:https://www.rabbitmq.com/configure.html#config-items
4:https://github.com/rabbitmq/rabbitmq-server/blob/add-debug-messages-to-quorum_queue_SUITE/docs/rabbitmq.conf.example

相关端口

5672:RabbitMQ的通讯端口
25672:RabbitMQ的节点间的CLI通讯端口是
15672:RabbitMQ HTTP_API的端口,管理员用户才能访问,用于管理RabbitMQ,需要启动Management插件。
1883,8883:MQTT插件启动时的端口。
61613、61614:STOMP客户端插件启用的时候的端口。
15674、15675:基于webscoket的STOMP端口和MOTT端口

一定要注意:RabbitMQ 在安装完毕以后,会绑定一些端口,如果你购买的是阿里云或者腾讯云相关的服务器一定要在安全组中把对应的端口添加到防火墙。

 

2.RabbitMQWeb管理界面及授权操作

2.1.RabbitMQ管理界面

默认情况下,rabbitmq是没有安装web端的客户端插件,需要安装才可以生效:

rabbitmq-plugins enable rabbitmq_management

 说明:rabbitmq有一个默认账号和密码是:guest 默认情况只能在localhost本机下访问,所以需要添加一个远程登录的用户。

 

安装完毕以后,重启服务即可

systemctl restart rabbitmq-server

 一定要记住,在对应服务器(阿里云,腾讯云等)的安全组中开放15672的端口。

 

完成后,在浏览器访问:

http://ip:15672/ 如下:
【MQ中间件】RabbitMQ -- RabbitMQ入门及安装配置(1)_RabbitMQ_03

2.2.授权账号和密码

新增用户

rabbitmqctl add_user admin admin

设置用户分配操作权限

rabbitmqctl set_user_tags admin administrator  # administrator表示用户级别

用户级别

  • 1、administrator 可以登录控制台、查看所有信息、可以对rabbitmq进行管理
  • 2、monitoring 监控者 登录控制台,查看所有信息
  • 3、policymaker 策略制定者 登录控制台,指定策略
  • 4、managment 普通管理员 登录控制台

为用户添加资源权限

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

小结:

rabbitmqctl add_user 账号 密码
rabbitmqctl set_user_tags 账号 administrator
rabbitmqctl change_password Username Newpassword #修改密码
rabbitmqctl delete_user Username #删除用户
rabbitmqctl list_users #查看用户清单
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"  #为用户设置administrator角色
rabbitmqctl set_permissions -p / root ".*" ".*" ".*"  #为用户设置roor权限

 

3.RabbitMQ之Docker安装

3.1.Docker安装RabbitMQ

虚拟化容器技术—Docker的安装

(1)yum 包更新到最新> yum update
(2)安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的> yum install -y yum-utils device-mapper-persistent-data lvm2
(3)设置yum源为阿里云> yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(4)安装docker> yum install docker-ce -y
(5)安装后查看docker版本> docker -v
 (6) 安装加速镜像 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF'
 {  "registry-mirrors": ["https://0wrdwnn6.mirror.aliyuncs.com"]
 }
 EOF sudo systemctl daemon-reload sudo systemctl restart docker

docker的相关命令

# 启动docker:
systemctl start docker
# 停止docker:
systemctl stop docker
# 重启docker:
systemctl restart docker
# 查看docker状态:
systemctl status docker
# 开机启动:  
systemctl enable docker
systemctl unenable docker
# 查看docker概要信息
docker info# 查看docker帮助文档
docker --help

安装rabbitmq镜像

参考网站:
1:https://www.rabbitmq.com/download.html
2:https://registry.hub.docker.com/_/rabbitmq/

获取rabbit镜像:

docker pull rabbitmq:management

创建并运行容器

docker run -di --name=myrabbit -p 15672:15672 rabbitmq:management

--hostname:指定容器主机名称
--name:指定容器名称
-p:将mq端口号映射到本地
或者运行时设置用户和密码

docker run -di --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management

查看日志

docker logs -f myrabbit

 

容器运行正常,即可登录页面访问

使用 http://你的IP地址:15672 访问rabbit控制台

3.2.额外Linux相关排查命令

> more xxx.log  #查看日记信息> netstat -naop | grep 5672 #查看端口是否被占用> ps -ef | grep 5672  #查看进程> systemctl stop 服务名  #停止运行中的服务