在 “Linux 9“ 系统快速安装配置RabbitMQ

这是在 "Linux 9" 系统(如 RHEL 9、AlmaLinux 9、Rocky Linux 9)上安装和配置 RabbitMQ 的中文指南。

前提条件:

  • 你拥有 sudo 权限。
  • 你的系统已连接到互联网。
  • firewalld 是你当前活动的防火墙(在基于 RHEL 的系统上很常见)。

安装和配置 RabbitMQ 的步骤:

步骤 1:系统更新(推荐)

bash 复制代码
sudo dnf update -y

步骤 2:添加 Erlang 和 RabbitMQ 仓库

RabbitMQ 依赖 Erlang。最好使用提供兼容版本的仓库。PackageCloud 是 RabbitMQ 官方分发包的方式。

  1. 安装 socat(RabbitMQ 脚本/插件通常依赖它)和添加仓库的工具:

    bash 复制代码
    sudo dnf install -y socat curl
  2. 添加 RabbitMQ 的 PackageCloud Erlang 仓库:

    bash 复制代码
    curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
  3. 添加 RabbitMQ 的 PackageCloud RabbitMQ Server 仓库:

    bash 复制代码
    curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

    运行这些脚本后,你的系统将被配置为从这些受信任的源获取 Erlang 和 RabbitMQ。

步骤 3:安装 Erlang 和 RabbitMQ Server

bash 复制代码
sudo dnf install -y erlang rabbitmq-server

这会先安装 Erlang,然后安装 RabbitMQ 服务器。

步骤 4:启用并启动 RabbitMQ 服务

bash 复制代码
sudo systemctl enable --now rabbitmq-server
sudo systemctl status rabbitmq-server

--now 标志会同时启用服务(开机自启)并立即启动它。检查状态以确保它是 active (running)(活动运行中)。

步骤 5:启用 RabbitMQ 管理插件

这个插件提供了一个基于 Web 的 UI,用于管理 RabbitMQ,非常有用。

bash 复制代码
sudo rabbitmq-plugins enable rabbitmq_management

启用后,管理插件将监听端口 15672

步骤 6:配置防火墙

你需要为 RabbitMQ 打开以下端口:

  • 5672: AMQP 0-9-1 和 AMQP 1.0(客户端连接)
  • 15672: RabbitMQ 管理界面(如果已启用)
  • 25672: Erlang 分布式通信端口,用于节点间和 CLI 工具通信(对集群和某些 rabbitmqctl 命令很重要)
bash 复制代码
sudo firewall-cmd --permanent --add-port=5672/tcp
sudo firewall-cmd --permanent --add-port=15672/tcp
sudo firewall-cmd --permanent --add-port=25672/tcp # 对于 rabbitmqctl 和集群很重要
sudo firewall-cmd --reload

步骤 7:创建 RabbitMQ 管理员用户

默认情况下,guest 用户只能从 localhost 连接。为了远程访问管理界面或让应用程序连接,你应该创建一个新用户。

  1. 添加新用户(请将 myadminmypassword 替换为你想要的凭据):

    bash 复制代码
    sudo rabbitmqctl add_user myadmin mypassword
  2. 给用户设置管理员标签:

    bash 复制代码
    sudo rabbitmqctl set_user_tags myadmin administrator
  3. 为用户授予所有虚拟主机(/ 是默认虚拟主机)的权限:

    bash 复制代码
    sudo rabbitmqctl set_permissions -p / myadmin ".*" ".*" ".*"

    (这授予了用户在 / 虚拟主机内对所有资源的配置、写入和读取权限)。

步骤 8:访问 RabbitMQ 管理界面

打开你的网络浏览器,然后访问:
http://你的服务器IP地址:15672/

(请将 你的服务器IP地址 替换为你的 Linux 9 机器的实际 IP 地址)。

使用你在步骤 7 中创建的用户登录(例如,myadmin / mypassword)。

步骤 9:基本配置(可选,但了解一下比较好)

RabbitMQ 的配置主要通过 rabbitmq.conf 文件进行。

  • 配置文件位置: /etc/rabbitmq/rabbitmq.conf
    如果此文件不存在,你可以创建它。如果文件不存在,RabbitMQ 将使用默认值。
  • 高级配置(Erlang 术语): /etc/rabbitmq/advanced.config(基本设置中较少需要)。

示例 rabbitmq.conf,用于设置内存限制(如果文件不存在则创建它):

bash 复制代码
sudo nano /etc/rabbitmq/rabbitmq.conf

添加如下内容:

ini 复制代码
# 设置总内存高水位线。例如,总 RAM 的 40%。
# 如果你的服务器有 8GB RAM,40% 大约是 3.2GB。
# vm_memory_high_watermark.relative = 0.4

# 或者一个绝对值:
# vm_memory_high_watermark.absolute = 2GB

# 磁盘可用空间限制(例如,如果可用磁盘空间低于 5GB,RabbitMQ 将阻塞生产者)
# disk_free_limit.absolute = 5GB

重要提示: 修改 rabbitmq.conf 后,你需要重启 RabbitMQ 服务:

bash 复制代码
sudo systemctl restart rabbitmq-server

故障排除:

  • 日志: RabbitMQ 日志通常位于 /var/log/rabbitmq/。如果服务启动失败或遇到问题,请检查这些日志。

  • rabbitmqctl status 提供详细的状态信息。

    bash 复制代码
    sudo rabbitmqctl status

现在你已经成功安装了一个功能正常的 RabbitMQ 服务器,并带有管理界面和一个管理员用户!你可以开始创建虚拟主机、交换机、队列,并连接你的应用程序了。

相关推荐
斑马13911 小时前
Linux软件编程学习笔记(四)——进程
linux·运维·服务器
扛枪的书生11 小时前
Linux 三剑客 - Awk 命令指南
linux·运维
喜欢吃燃面12 小时前
HTTP协议深度解析:从请求响应到状态管理与安全传输
linux·网络协议·学习
Tanner_SL12 小时前
Linux笔记之正则表达式和文本处理grep,sed,awk命令
linux·正则表达式
学linux的QQ蛋12 小时前
Linux 文件 IO vs 标准 IO:缓冲区、目录操作、常用函数汇总
linux·运维·服务器
苍狗T12 小时前
k8s 控制器管理
linux·运维·云原生·容器·kubernetes
Linux运维技术栈13 小时前
筑牢业务信息安全防线:雷池WAF+后端日志溯源的全链路防护体系落地实践
linux·安全·雷池
笨笨饿13 小时前
#121_图传中的H.364编码与MP4的联系
linux·运维·前端·单片机·嵌入式硬件·面试·职场和发展
Tanner_SL13 小时前
Linux笔记之GIT常用命令
linux·git
GeW13 小时前
RHCE通关"捷径":实战经验+应试技巧双管齐下
linux