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已经安装完成了。

相关推荐
回家路上绕了弯10 小时前
深入解析Agent Subagent架构:原理、协同逻辑与实战落地指南
分布式·后端
用户83071968408213 小时前
Spring Boot 集成 RabbitMQ :8 个最佳实践,杜绝消息丢失与队列阻塞
spring boot·后端·rabbitmq
用户8307196840822 天前
RabbitMQ vs RocketMQ 事务大对决:一个在“裸奔”,一个在“开挂”?
后端·rabbitmq·rocketmq
初次攀爬者4 天前
RabbitMQ的消息模式和高级特性
后端·消息队列·rabbitmq
初次攀爬者6 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
让我上个超影吧7 天前
消息队列——RabbitMQ(高级)
java·rabbitmq
塔中妖7 天前
Windows 安装 RabbitMQ 详细教程(含 Erlang 环境配置)
windows·rabbitmq·erlang
断手当码农7 天前
Redis 实现分布式锁的三种方式
数据库·redis·分布式
初次攀爬者7 天前
Redis分布式锁实现的三种方式-基于setnx,lua脚本和Redisson
redis·分布式·后端
业精于勤_荒于稀7 天前
物流订单系统99.99%可用性全链路容灾体系落地操作手册
分布式