Linux环境下 RabbitMQ 的下载与安装

出门莫恨无人随,书中车马多如簇。这篇文章主要讲述Linux环境下 RabbitMQ 的下载与安装相关的知识,希望能为你提供帮助。


0 环境CentOS7RabbitMQ 3.6.5erlang 18.3socatrabbitmq是使用erlang语言编写的,所以需要先安装erlang,其次rabbitmq安装依赖于socat,所以三个安装包都需要下载。另外rabbitmq对于erlang的版本是有要求的,这个可以去官网查看。
0.1 Mac本地文件上传通过ssh连接本地虚拟机中的CentOS 7 服务器,将所需安装文件上传至Linux服务器

Linux环境下 RabbitMQ 的下载与安装

文章图片
Linux环境下 RabbitMQ 的下载与安装

文章图片
Linux环境下 RabbitMQ 的下载与安装

文章图片

0.2 Linux服务器下直接执行下载命令
wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm

1 安装基础依赖
Linux环境下 RabbitMQ 的下载与安装

文章图片

2 安装rpm包一定要按顺序!!!

  • rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
    Linux环境下 RabbitMQ 的下载与安装

    文章图片
  • rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
    Linux环境下 RabbitMQ 的下载与安装

    文章图片
  • rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
    Linux环境下 RabbitMQ 的下载与安装

    文章图片

3 修改配置
Linux环境下 RabbitMQ 的下载与安装

文章图片


  • RabbitMQ的核心配置文件(显然就是个JSON格式文件),在这里可以查看到rabbitmq默认监听的端口号是5672
    Linux环境下 RabbitMQ 的下载与安装

    文章图片
  • 找到 ??loopback_users??配置项,去除guest,然后保存退出
    Linux环境下 RabbitMQ 的下载与安装

    文章图片

4 RabbitMQ 基本命令

  • 启动服务
    Linux环境下 RabbitMQ 的下载与安装

    文章图片
  • 停止服务的

rabbitmqctl stop

查看进程: ??lsof-i:5672???管理插件: ??rabbitmq-plugins enable rabbitmq-management??
5 RabbitMQ 管控台
  • 启用管控台
    Linux环境下 RabbitMQ 的下载与安装

    文章图片
默认启用端口是15672,通过ip+端口进行访问,如
Linux环境下 RabbitMQ 的下载与安装

文章图片

最好先关闭下iptables规则
Linux环境下 RabbitMQ 的下载与安装

文章图片

访问成功后需要输入用户名和密码进行登录,统一输入 ??guest??即可. 但是在该版本,发现网上此法并不行!
  • rabbitmq的web控制台使用默认账户guest登录失败——login failed
    Linux环境下 RabbitMQ 的下载与安装

    文章图片
问题背景rabbitmq的默认账户和密码都是guest,安装完rabbitmq之后可以使用guest/guest登录。
而通过web控制台登录有以下两种形式:

  • 本地登陆(即在rabbitmq安装的机器上登陆——地址栏输入http://localhost:15672)
  • 远程登陆(即在其他机器上通过指定IP地址登陆——地址栏输入http://:15672)

但是,在rabbitmq3.3.0之后,出于安全性考虑,默认情况下rabbitmq的guest/guest账户将不能实现远程登录,只能在本地登录.
解决方案新建账户
默认的guest账户无法远程登陆,并不意味着其他用户也无法远程登录. 所以,可以通过如下命令新增用户、设定用户角色以及赋予用户权限实现远程登陆:
新增用户
$ rabbitmqctl add_user UsernamePassword

Linux环境下 RabbitMQ 的下载与安装

文章图片

RabbitMQ的用户角色分类【Linux环境下 RabbitMQ 的下载与安装】none、management、policymaker、monitoring、administrator

  • 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
  • 查看其他用户的connections和channels
  • 查看节点级别的数据如clustering和memory使用情况
  • 查看真正的关于所有virtual hosts的全局的统计信息
  • administrator policymaker和monitoring可以做的任何事外加:
  • 创建和删除virtual hosts
  • 查看、创建和删除users
  • 查看创建和删除permissions
  • 关闭其他用户的connections
  • 设定用户 ??administrator??角色 用户角色可以分为超级管理员administrator、监控者monitoring、策略制定者policymaker、普通管理者management等

$ rabbitmqctl set_user_tags < 用户名> administrator

Linux环境下 RabbitMQ 的下载与安装

文章图片


  • 修改密码
    Linux环境下 RabbitMQ 的下载与安装

    文章图片
  • 查看用户列表
    Linux环境下 RabbitMQ 的下载与安装

    文章图片
  • 删除账户
    Linux环境下 RabbitMQ 的下载与安装

    文章图片
  • 赋予用户权限
    Linux环境下 RabbitMQ 的下载与安装

    文章图片

用户权限包括配置权限、读权限和写权限 配置权限会影响到exchange、queue的声明和删除。读写权限会影响到从queue里取消息、向exchange发送消息以及queue和exchange的绑定操作 比如,将queue绑定到某个exchange上,需要具有queue的写权限以及exchange的读权限;向exchange发送消息需要具有exchange的写权限;从queue里取消息需要具有queue的读权限。

  • 查看用户授权
    Linux环境下 RabbitMQ 的下载与安装

    文章图片
  • 清除权限信息

rabbitmqctl clear_permissions [-p VHostPath] ymq
rabbitmqctlclear_permissions-p / javaEdge
Clearing permissions for user "JavaEdge" in vhost "/"

此时,就可以通过你添加的新用户/密码来进行rabbitmq的远程登录了
Linux环境下 RabbitMQ 的下载与安装

文章图片






    推荐阅读