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

相关推荐
Data跳动3 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark
Java程序之猿4 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
来一杯龙舌兰5 小时前
【RabbitMQ】RabbitMQ保证消息不丢失的N种策略的思想总结
分布式·rabbitmq·ruby·持久化·ack·消息确认
节点。csn6 小时前
Hadoop yarn安装
大数据·hadoop·分布式
NiNg_1_2348 小时前
基于Hadoop的数据清洗
大数据·hadoop·分布式
隔着天花板看星星9 小时前
Spark-Streaming集成Kafka
大数据·分布式·中间件·spark·kafka
技术路上的苦行僧13 小时前
分布式专题(8)之MongoDB存储原理&多文档事务详解
数据库·分布式·mongodb
龙哥·三年风水13 小时前
workman服务端开发模式-应用开发-后端api推送修改二
分布式·gateway·php
小小工匠14 小时前
分布式协同 - 分布式事务_2PC & 3PC解决方案
分布式·分布式事务·2pc·3pc
Allen Bright14 小时前
Spring Boot 整合 RabbitMQ:从入门到实践
spring boot·rabbitmq·java-rabbitmq