RabbitMQ安装部署

简介

RabbitMQ一款知名的开源消息队列系统,为企业提供消息的发布、订阅、点对点传输等消息服务。

RabbitMQ在企业开发中十分常见,课程为大家演示快速搭建RabbitMQ环境。

安装

rabbitmq在yum仓库中的版本比较老,所以我们需要手动构建yum仓库

  1. 准备yum仓库

    复制代码
    # root执行
    # 1. 准备gpgkey密钥
    rpm --import https://github.com/rabbitmq/signingkeys/releases/download/2.0/rabbitmq-release-signing-key.asc
    rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey
    rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
    ​
    通过导入这些 GPG 公钥,系统在安装 RabbitMQ 相关软件包时可以验证这些软件包的真实性和完整性,确保它们没有被篡改或损坏
    ​
    # 2. 准备仓库文件
    vim /etc/yum.repos.d/rabbitmq.repo
    # 填入如下内容
    ##
    ## Zero dependency Erlang
    ##
    ​
    [rabbitmq_erlang]
    name=rabbitmq_erlang
    baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
    repo_gpgcheck=1
    gpgcheck=1
    enabled=1
    # PackageCloud's repository key and RabbitMQ package signing key
    gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
           https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
    ​
    [rabbitmq_erlang-source]
    name=rabbitmq_erlang-source
    baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
    repo_gpgcheck=1
    gpgcheck=0
    enabled=1
    # PackageCloud's repository key and RabbitMQ package signing key
    gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
           https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
    ​
    ##
    ## RabbitMQ server
    ##
    ​
    [rabbitmq_server]
    name=rabbitmq_server
    baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch
    repo_gpgcheck=1
    gpgcheck=0
    enabled=1
    # PackageCloud's repository key and RabbitMQ package signing key
    gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
           https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
    ​
    [rabbitmq_server-source]
    name=rabbitmq_server-source
    baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/SRPMS
    repo_gpgcheck=1
    gpgcheck=0
    enabled=1
    gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
  2. 安装RabbitMQ

    复制代码
    # root执行
    yum install erlang rabbitmq-server -y
    复制代码
    会下载两个包
      erlang.x86_64 0:23.3.4.11-1.el7           rabbitmq-server.noarch 0:3.10.0-1.el7
  3. 启动

    复制代码
    # root执行
    # 使用systemctl管控,服务名:rabbitmq-server
    systemctl enable rabbitmq-server        # 开机自启
    systemctl disable rabbitmq-server       # 关闭开机自启
    systemctl start rabbitmq-server         # 启动
    systemctl stop rabbitmq-server          # 关闭
    systemctl status rabbitmq-server        # 查看状态
  4. 放行防火墙,RabbitMQ使用5672、15672、25672 3个端口

    复制代码
    # 方式1(推荐),关闭防火墙
    systemctl stop firewalld        # 关闭
    systemctl disable firewalld     # 关闭开机自启
    ​
    # 方式2,放行5672 25672端口
    firewall-cmd --add-port=5672/tcp --permanent        # 放行tcp规则下的5672端口,永久生效
    firewall-cmd --add-port=15672/tcp --permanent       # 放行tcp规则下的15672端口,永久生效
    firewall-cmd --add-port=25672/tcp --permanent       # 放行tcp规则下的25672端口,永久生效
    firewall-cmd --reload                               # 重新加载防火墙规则
  5. 启动RabbitMQ的WEB管理控制台

    复制代码
    rabbitmq-plugins enable rabbitmq_management
  6. 添加admin用户,并赋予权限

    复制代码
    rabbitmqctl add_user admin '1234'
    执行完这条命令后,RabbitMQ 将会创建一个用户名为 admin,密码为 '1234' 的新用户。命令输出的最后一行 Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more. 提示你已成功创建用户,并提醒你需要为这个用户授予一些虚拟主机的权限。你可以使用 rabbitmqctl help set_permissions 命令了解如何设置用户的权限。
    ​
    rabbitmqctl set_permissions -p "/" "admin" ".*" ".*" ".*"
    rabbitmqctl: 这是 RabbitMQ 的控制命令行工具,用于管理 RabbitMQ 的各种操作。
    set_permissions: 这是 rabbitmqctl 的子命令,用于设置用户在指定虚拟主机(vhost)上的权限。
    -p "/": 这是指定要设置权限的虚拟主机。在这里,"/" 表示默认虚拟主机。
    "admin": 这是要设置权限的用户名。在这个例子中,用户名是 admin。
    ".*" ".*" ".*": 这三个 ".*" 是权限参数,分别表示配置、写入和读取权限。正则表达式 ".*" 匹配任何字符,表示允许用户对所有内容具有完全的配置、写入和读取权限。
    所以,执行这条命令后,用户 admin 将被授予在默认虚拟主机 / 上的完全权限,包括配置、写入和读取。
    ​
    rabbitmqctl set_user_tags admin administrator
    rabbitmqctl: 这是 RabbitMQ 的控制命令行工具,用于管理 RabbitMQ 的各种操作。
    set_user_tags: 这是 rabbitmqctl 的子命令,用于为用户设置标签(tags)。
    admin: 这是要设置标签的用户名。在这个例子中,用户名是 admin。
    administrator: 这是要为用户设置的标签。在 RabbitMQ 中,标签可以用来授予特定的权限或角色。administrator 标签通常用于赋予用户超级管理员权限,允许其执行所有管理操作,包括创建、删除用户、设置权限等。
    所以,执行这条命令后,用户 admin 将被赋予 administrator 标签,即成为具有超级管理员权限的用户。
    ​
  7. 浏览器打开管理控制台

    http://192.168.88.130:15672

至此,RabbitMQ已经安装完成了。

相关推荐
RainbowSea11 分钟前
6. RabbitMQ 死信队列的详细操作编写
java·消息队列·rabbitmq
RainbowSea19 分钟前
5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
java·消息队列·rabbitmq
数据智能老司机1 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
数据智能老司机2 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
数据智能老司机3 小时前
CockroachDB权威指南——CockroachDB 架构
数据库·分布式·架构
IT成长日记3 小时前
【Kafka基础】Kafka工作原理解析
分布式·kafka
州周4 小时前
kafka副本同步时HW和LEO
分布式·kafka
ChinaRainbowSea5 小时前
1. 初始 RabbitMQ 消息队列
java·中间件·rabbitmq·java-rabbitmq
爱的叹息6 小时前
主流数据库的存储引擎/存储机制的详细对比分析,涵盖关系型数据库、NoSQL数据库和分布式数据库
数据库·分布式·nosql
千层冷面7 小时前
RabbitMQ 发送者确认机制详解
分布式·rabbitmq·ruby