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

相关推荐
qq_12498707532 小时前
基于Hadoop的信贷风险评估的数据可视化分析与预测系统的设计与实现(源码+论文+部署+安装)
大数据·人工智能·hadoop·分布式·信息可视化·毕业设计·计算机毕业设计
洛豳枭薰4 小时前
消息队列关键问题描述
kafka·rabbitmq·rocketmq
Coder_Boy_4 小时前
基于Spring AI的分布式在线考试系统-事件处理架构实现方案
人工智能·spring boot·分布式·spring
袁煦丞 cpolar内网穿透实验室6 小时前
远程调试内网 Kafka 不再求运维!cpolar 内网穿透实验室第 791 个成功挑战
运维·分布式·kafka·远程工作·内网穿透·cpolar
人间打气筒(Ada)6 小时前
GlusterFS实现KVM高可用及热迁移
分布式·虚拟化·kvm·高可用·glusterfs·热迁移
xu_yule6 小时前
Redis存储(15)Redis的应用_分布式锁_Lua脚本/Redlock算法
数据库·redis·分布式
難釋懷10 小时前
分布式锁的原子性问题
分布式
ai_xiaogui11 小时前
【开源前瞻】从“咸鱼”到“超级个体”:谈谈 Panelai 分布式子服务器管理系统的设计架构与 UI 演进
服务器·分布式·架构·分布式架构·panelai·开源面板·ai工具开发
凯子坚持 c11 小时前
如何基于 CANN 原生能力,构建一个支持 QoS 感知的 LLM 推理调度器
分布式