使用docker
前提条件是环境中已经安装过docker,并且已经启动docker。
1.拉取镜像,(版本为3.10.7)
docker pull rabbitmq:3.10.7
2.创建挂载目录:
mkdir -p /root/docker/rabbitmq
3.启动容器
docker run -d --name rabbitmq \
-p 15672:15672 -p 5672:5672 \
-v /root/docker/rabbitmq/data:/data/rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
rabbitmq:3.10.7
3.开启web页面管理
# 进入容器
docker exec -it rabbitmq /bin/bash
# 开启web页面插件
rabbitmq-plugins enable rabbitmq_management
4.登录页面:http://你的ip:15672,用户名和密码都是admin
![](https://i-blog.csdnimg.cn/blog_migrate/baabd17d37197877014c5cfa1d85b9c9.png)
5.创建用户
# 进入容器
docker exec -it rabbitmq /bin/bash
# 创建账号,add_user后面分别为:账户 密码
rabbitmqctl add_user admin2 admin2
效果展示:
![](https://i-blog.csdnimg.cn/blog_migrate/0fc8677455d60e1c44f27a5587c4149a.png)
# 设置用户角色
rabbitmqctl set_user_tags admin2 administrator
效果展示:
![](https://i-blog.csdnimg.cn/blog_migrate/30b5c688548c1e09d5206297fe8f865a.png)
# 设置用户权限
# rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
rabbitmqctl set_permissions -p "/" admin2 ".*" ".*" ".*"
效果展示:
![](https://i-blog.csdnimg.cn/blog_migrate/35adcf8997757ac000080a1965a792ab.png)
# 查看用户列表
rabbitmqctl list_users
效果展示:
![](https://i-blog.csdnimg.cn/blog_migrate/874daecc49a48aaaddfb2d91d3c096c7.png)
设置完之后,可以用当前账号进行登录。
![](https://i-blog.csdnimg.cn/blog_migrate/9169e3ec2149a3661e524cf33a53bbbe.png)
使用安装包安装
1.下载Erlang
![](https://i-blog.csdnimg.cn/blog_migrate/fe684c5a86b67cc76ad8a9b2ccfe36a9.png)
2.下载RabbitMQ
下载地址:https://www.rabbitmq.com/download.html
![](https://i-blog.csdnimg.cn/blog_migrate/706c81aa4b5462f8e7c3b78858ae66ad.png)
由于官网下载最新版本显示未获得授权,无法正确下载。所以找了rabbitmq-server-3.8.3-1.el7.noarch.rpm版本下载地址: https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-3.8.3-1.el7.noarch.rpm
3.上传至指定目录,进行安装
创建上传目录:
mkdir -p /usr/rabbitmq
再利用xftp工具将上述下载的两个.rpm文件上传到服务器的刚创建的文件夹中
![](https://i-blog.csdnimg.cn/blog_migrate/dd264be7a9ce7cd93db7b187e8fe03c6.png)
4.安装erlang
切换到/usr/rabbitmq目录,解压安装erlang
# 解压
rpm -Uvh erlang-23.2.7-2.el7.x86_64.rpm
#centos8需要安装epel源,否则yum安装出现“未找到匹配的参数”、“没有可用软件包”错误
yum install epel-release
# 安装
yum install -y erlang
效果展示:
![](https://i-blog.csdnimg.cn/blog_migrate/47138cd5dc20a9f27365511daaa6205d.png)
5.安装RabbitMQ
在RabiitMQ安装过程中需要依赖socat插件,首先安装该插件。
yum install -y socat
效果展示:
![](https://i-blog.csdnimg.cn/blog_migrate/64c9585671f5017cbbfa341e9ab902df.png)
然后解压安装RabbitMQ的安装包
# 解压
rpm -Uvh rabbitmq-server-3.8.14-1.el7.noarch.rpm
# 安装
yum install -y rabbitmq-server
效果展示:
![](https://i-blog.csdnimg.cn/blog_migrate/3b0712f82c239229338d542fb3f778a3.png)
6.启动rabbitMQ
#启动mq
systemctl start rabbitmq-server
#查看启动状态
systemctl status rabbitmq-server
active状态则说明应启动ok.
![](https://i-blog.csdnimg.cn/blog_migrate/c49b9d5a8be39459d44aa0509c8b9dc7.png)
也可以设置其他属性信息
# 设置rabbitmq服务开机自启动
systemctl enable rabbitmq-server
# 关闭rabbitmq服务
systemctl stop rabbitmq-server
# 重启rabbitmq服务
systemctl restart rabbitmq-server
7.安装rabbitMQ管理界面
# 打开RabbitMQWeb管理界面插件
rabbitmq-plugins enable rabbitmq_management
效果展示:
![](https://i-blog.csdnimg.cn/blog_migrate/6faea161e1351722f19d3830d39a0e39.png)
在linux本机上可以访问: http://locallhost:15672,可以看到管理界面,登录账号和密码都是guest
![](https://i-blog.csdnimg.cn/blog_migrate/ad91fff49618c0a5f85519f3f06f0d76.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1fdeba9b167ff03127eef570e8871377.png)
7.使用其他服务其查看
访问地址: http://ip:15672
# 首先查看Linux服务i的防火墙是否关闭
systemctl status firewalld
#如果是active状态,需要关闭防火墙。否则外网无法访问到mqweb端
service firewalld stop
效果展示:
![](https://i-blog.csdnimg.cn/blog_migrate/d21001be2218228759887416d28dbd13.png)
由于用户guest只能在本地登录,所以还得建立用户。
8.添加用户
# 添加用户
rabbitmqctl add_user 用户名 密码
# 设置用户角色,分配操作权限
rabbitmqctl set_user_tags 用户名 角色
# 为用户添加资源权限(授予访问虚拟机根节点的所有权限)
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
效果展示:
![](https://i-blog.csdnimg.cn/blog_migrate/68a5f57e9a0821c731591ca98141ed68.png)
角色有四种:
administrator:可以登录控制台、查看所有信息、并对rabbitmq进行管理
monToring:监控者;登录控制台,查看所有信息
policymaker:策略制定者;登录控制台指定策略
managment:普通管理员;登录控制
设置完毕进行登录:
![](https://i-blog.csdnimg.cn/blog_migrate/4014176205f02f113174ca797f62c382.png)
其他指令:
# 修改密码
rabbitmqctl change_ password 用户名 新密码
# 删除用户
rabbitmqctl delete_user 用户名
# 查看用户清单
rabbitmqctl list_users