RabbitMQ 安装与界面管理

2021-12-06 16:45:31 浏览数 (1)

RabbitMQ 安装与界面管理

RabbitMQ概述

官网:https://www.rabbitmq.com/

RabbitMQ是部署最广泛的开源消息代理。

RabbitMQ拥有成千上万的用户,是最流行的开源消息代理之一。从T-Mobile到Runtastic, RabbitMQ在全球范围内广泛应用于小型初创企业和大型企业。

RabbitMQ是轻量级的,易于部署在premises和云中。它支持多种消息传递协议。RabbitMQ可以以分布式和联合的方式部署,以满足高规模、高可用性的需求。

RabbitMQ运行在许多操作系统和云环境上,并为最流行的语言提供了广泛的开发工具。

安装准备

下载Rabbit

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

这里以Linux系统进行举例,我使用的是CentOS7的镜像,可以选择对应版本

下载Erlang

RabbitMQ是基于Erlang开发,所以想要使用RabbitMQ,需要安装Erlang

查看对应版本的Erlang 网址:https://www.rabbitmq.com/which-erlang.html

该处是对应的,不可以让Erlang版本超出范围

下载地址:https://www.erlang-solutions.com/

Linux安装

代码语言:javascript复制
[root@localhost ~]# mkdir -p /usr/rabbitmq     # 在/usr文件夹下创建rabbitmq文件夹
[root@localhost ~]# cd /usr/rabbitmq           # 进入/usr/rabbitmq 文件夹下
[root@localhost rabbitmq]# 

使用X-ftp 将下载的文件移动到该文件下

安装Erlang

代码语言:javascript复制
rpm -Uvh erlang-23.3.1-1.el7.x86_64.rpm    # 后面的文件名改为下载的文件名

yum install -y erlang     #安装erlang  , 这里可能会报错

yum list | grep erlang    # 查询erlang在系统中安装包的名字 , 如果显示installed 不用执行上面的安装

erl -v    #查看erlang版本

安装socat

代码语言:javascript复制
yum install -y socat

安装RabbitMQ

代码语言:javascript复制
rpm -Uvh rabbitmq-server-3.8.14-1.el7.noarch.rpm

yum install rabbitmq-server -y

测试是否安装成功

代码语言:javascript复制
# 启动服务
systemctl start rabbitmq-server

# 查看服务状态,如图
systemctl status rabbitmq-server.service

# 开机自启动
systemctl enable rabbitmq-server

# 停止服务
systemctl stop rabbitmq-server

Docker安装

更新yum

代码语言:javascript复制
yum update               #yum 更新到最新

yum install -y yum-utils device-mapper-persistent-data lvm2    #安装需要的软件包

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo    #设置yum源为阿里云

安装Docker

代码语言:javascript复制
yum install docker-ce -y        #安装docker

docker -v      #查看docker版本

配置Docker镜像

代码语言:javascript复制
[root@localhost rabbitmq]# mkdir -p /etc/docker
[root@localhost rabbitmq]# tee /etc/docker/daemon.json <<-'EOF'
> 
> {
>   "registry-mirrors": ["https://9vqg1xqp.mirror.aliyuncs.com"]
> }
> EOF

重启、查看docker状态

代码语言:javascript复制
systemctl daemon-reload 

systemctl restart docker       #重启docker

systemctl status daocker       #查看docker状态

docker images                  #查看docker镜像

Docker常用命令

代码语言:javascript复制
#启动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

开始安装

获取rabbit镜像

代码语言:javascript复制
docker pull rabbitmq:management

创建并运行容器

代码语言:javascript复制
docker run -di --name=myrabbit -p 15672:15672 rabbitmq:management

启动服务

代码语言:javascript复制
docker ps -a           #查看容器

docker images          #查看镜像

docker start 3da6ff4c1cd4   #启动,最后的一串和容器中名字对应

这时候,访问路径: 你的IP地址:15672 (账号密码:guest)

小提示 如果你关机时,docker中rabbitmq容器没有关闭,再次开启时可能出现端口错误 ,记得关闭容器 docker ps #查看容器 docker stop xxx #关闭容器

RabbitMQ界面管理

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

代码语言:javascript复制
rabbitmq-plugins enable rabbitmq_management

之后重启服务

代码语言:javascript复制
systemctl restart rabbitmq-server

之后可以进入网址:你的ip地址:15672 (例如:192.168.57.129:15672

linux ip地址查看方法: ifconfig

正常进入的页面为:

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

首先关闭防火墙,依次输入即可

代码语言:javascript复制
systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
systemctl stop firewalld 

授权账号和密码 用户级别 ( 设置操作权限时使用 ):

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

最后会进行解析以上级别

代码语言:javascript复制
rabbitmqctl add_user admin admin              #新增 admin 用户

rabbitmqctl set_user_tags admin administrator #设置用户操作权限
代码语言:javascript复制
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"    #为用户添加资源权限

这时候使用 admin 用户 就可以登陆成功了

小结

代码语言:javascript复制
rabbitmqctl add_user 账号 密码       #添加新用户
rabbitmqctl set_user_tags 账号 administrator   #设置用户操作权限 ,administrator可更改
rabbitmqctl change_password Username Newpassword   #修改密码
rabbitmqctl delete_user Username      #删除用户
rabbitmqctl list_users          #查看用户清单
rabbitmqctl.bat set_permissions -p /用户名 ".*" "." ".*"   #为用户添加资源权限

RabbitMQ用户级别

1.nono

  • 不能访问 management plugin

2.management

  • 查看自己相关节点信息
  • 列出自己可以通过AMQP登入的虚拟机
  • 查看自己的虚拟机节点virtual hostsqueuesexchangesbindings信息
  • 查看和关闭自己的 channelsconnections
  • 查看有关自己的虚拟机节点 virtual hosts 的统计信息,包括其他用户在这个节点 virtual hosts 中的活动信息,

3.Policymaker

  • 包含management所有权限
  • 查看和创建和删除自己的virtual hosts所属的policiesparameters信息.

4.Monitoring

  • 包含 management 所有权限
  • 罗列出所有的virtual hosts,包括不能登录的 virtual hosts.
  • 查看其他用户的connectionschannels信息
  • 查看节点级别的数据如clusteringmemory使用情况
  • 查看所有的virtual hosts的全局统计信息

5.Administrator

  • 最高权限
  • 可以创建和删除virtual hosts
  • 可以查看创建和删除users
  • 查看创建permisssions
  • 关闭所有用户的connections

个人博客为: MoYu’s HomePage

0 人点赞