RabbitMQ安装

8/5/2022 RabbitMQ

# Linux安装

# 下载

我们需要2个 rpm 安装包,分别是 RabbitMQ 安装包和 Erlang 环境安装包,注意两者的版本对应关系。

# 下载RabbitMQ

RabbitMQ-GitHub-releases (opens new window),选择以 noarch.rpm 结尾的安装包

rabbitmq

# 下载Erlang

查看ErlangRabbitMQ版本对应关系:点击跳转 (opens new window)

Erlang下载地址 (opens new window)

版本选择

CentOs 7.x 版本需要e17。

CentOs 8.x 版本需要e18。包括 Red Hat 8,modern Fedora 版本。

# 安装Erlang

# 上传包

首先在 Linux 的 /usr/local 目录下创建一个文件夹 rabbitmq,然后使用xftp或者winscp工具将两个包上传到Linux指定目录下

mkdir /usr/local/rabbitmq
1

# 安装

进入 /usr/local/rabbitmq目录,解压安装 Erlang

[root@master rabbitmq]# cd /usr/local/rabbitmq
[root@master rabbitmq]# rpm -ivh erlang-21.3-1.el7.x86_64.rpm
警告:erlang-21.3-1.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 6026dfca: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:erlang-21.3-1.el7                ################################# [100%]
1
2
3
4
5
6

安装完成后输入指令查看到版本号,代表成功

[root@master rabbitmq]# erl -v
Erlang/OTP 21 [erts-10.3] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]

Eshell V10.3  (abort with ^G)
1>
1
2
3
4
5

# 可能出现的问题

安装Erlang过程中如果出现下面问题

rabbitmq

这个错误的主要原因是没有libcrypto.so.10(OPENSSL_1.0.2)(64bit)依赖,我们去下载一个就可以了

下载地址 (opens new window)

rabbitmq

下载后上传到rabbitmq目录下,通过命令安装

rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm --force
1

安装好这个后,再次安装 Erlang 即可成功

rabbitmq

# 安装RabbitMQ

# 分别执行以下命令

# 在 RabiitMQ 安装过程中需要依赖 socat 插件,首先安装该插件
yum install socat -y

# 解压 RabbitMQ 安装包
[root@master rabbitmq]# rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm
警告:rabbitmq-server-3.8.8-1.el7.noarch.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 6026dfca: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:rabbitmq-server-3.8.8-1.el7      ################################# [100%]
1
2
3
4
5
6
7
8
9

# 启动

# 启动服务
systemctl start rabbitmq-server
# 查看服务状态
systemctl status rabbitmq-server
1
2
3
4

启动 RabbitMQ 服务后,查看该服务状态,显示绿色的 active 则表示服务安装并启动成功

# 其他指令

# 开机自启动
systemctl enable rabbitmq-server
# 停止服务
systemctl stop rabbitmq-server
# 重启服务
systemctl restart rabbitmq-server
1
2
3
4
5
6

# 管理界面及授权操作

默认端口

RabbitMQ 的默认访问端口是 15672

如果 Linux 有防火墙,记得开放 15672 端口,否则 Windows 无法访问

# 安装管理界面插件
rabbitmq-plugins enable rabbitmq_management

# 安装完毕以后,重启服务
systemctl restart rabbitmq-server
1
2
3
4
5

# 添加远程登录用户

通过 http://ip:15672 访问,ip 为 Linux 的 ip。rabbitmq 有一个默认的账号密码 guest,但是登录该账号密码会出现权限问题(Linux安装后会出现无法远程登录问题),所以我们需要添加一个允许远程登录的用户

# 创建账号和密码
rabbitmqctl add_user 用户名 密码

# 设置用户角色
rabbitmqctl set_user_tags 用户名 角色

# 为用户添加资源权限,添加配置、写、读权限
# set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
rabbitmqctl set_permissions -p "/" y ".*" ".*" ".*"
1
2
3
4
5
6
7
8
9

# 角色固定有四种级别:

  • administrator:可以登录控制台、查看所有信息、并对rabbitmq进行管理
  • monToring:监控者;登录控制台,查看所有信息
  • policymaker:策略制定者;登录控制台指定策略
  • managment:普通管理员;登录控制

添加用户和权限后,再次访问 http://ip:15672 登录,输入添加好的用户名和密码,即可进入后台

rabbitmq

# 其他指令

# 修改密码
rabbitmqctl change_ password 用户名 新密码

# 删除用户
rabbitmqctl delete_user 用户名

# 查看用户清单
rabbitmqctl list_user

1
2
3
4
5
6
7
8
9

# Docker安装RabbitMQ

# 安装启动 rabbitmq 容器
docker run -d --name myRabbitMQ -e RABBITMQ_DEFAULT_USER=用户名 -e RABBITMQ_DEFAULT_PASS=密码 -p 15672:15672 -p 5672:5672 rabbitmq:3.8.14-management
1
2