不求甚解

此博客为个人学习之用,如与其他作品雷同,纯属巧合。

导航

Q:RabbitMQ 安装教程(openEuler 22.03 LTS-SP3)

Posted on 2025-12-09 17:47  三年三班王小朋  阅读(0)  评论(0)    收藏  举报

RabbitMQ 安装教程(openEuler 22.03 LTS-SP3)

环境说明

  • 操作系统:openEuler release 22.03 (LTS-SP3)
  • 包管理器:dnf
  • RabbitMQ 版本:3.9.23(来自 openEuler 官方仓库)
  • Erlang 版本:OTP 24.x(自动安装)

本教程使用 openEuler 原生软件源,不混用 CentOS/RHEL 包,确保系统稳定。


第一步:安装依赖

sudo dnf install -y socat

socat 是 rabbitmqctl 等命令行工具必需的依赖。


第二步:安装 RabbitMQ

sudo dnf install - y rabbitmq-server

该命令会自动:

  • 安装 rabbitmq-server-3.9.23-2.oe2203sp3
  • 安装兼容的 erlang(OTP 24.x)
  • 配置 systemd 服务文件
  • 创建配置目录 /etc/rabbitmq/

第三步:启动并启用服务

sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

第四步:验证服务状态

systemctl status rabbitmq-server
sudo rabbitmqctl status
ss -tulnp | grep beam.smp

正常应监听以下端口:

  • 5672:AMQP 客户端连接端口
  • 25672:集群节点通信端口
  • 4369:Erlang EPMD 服务端口

第五步:启用 Web 管理界面

sudo rabbitmq-plugins enable rabbitmq_management

启用后,RabbitMQ 会监听 15672 端口。


第六步:创建管理员用户

默认用户 guest/guest 不能从远程登录,需创建新用户:

# 替换 YOUR_PASSWORD 为你的强密码
sudo rabbitmqctl add_user admin YOUR_PASSWORD
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

第七步:配置防火墙(如启用)

sudo firewall-cmd --permanent --add-port=5672/tcp
sudo firewall-cmd --permanent --add-port=15672/tcp
sudo firewall-cmd --permanent --add-port=25672/tcp
sudo firewall-cmd --reload

如果是云服务器,还需在安全组中放行上述端口。


第八步:访问 Web 管理界面

在浏览器中打开:

http://服务器IP:15672

使用以下凭据登录:

  • 用户名:admin
  • 密码:YOUR_PASSWORD

关键路径说明

  • 配置文件:/etc/rabbitmq/rabbitmq.conf
  • 日志文件:/var/log/rabbitmq/rabbit@主机名.log
  • 数据目录:/var/lib/rabbitmq/
  • 插件目录:/usr/lib/rabbitmq/plugins/

常用管理命令

# 查看用户
sudo rabbitmqctl list_users

# 查看队列
sudo rabbitmqctl list_queues

# 重启服务
sudo systemctl restart rabbitmq-server

# 查看插件列表
sudo rabbitmq-plugins list

常见问题避免

  1. 不要手动安装 el7 或 el8 的 RPM 包,会导致依赖冲突。
  2. 如果 15672 端口无法访问,请确认是否启用了 rabbitmq_management 插件。
  3. guest 用户仅限本地登录,远程管理必须创建新用户。
  4. 确保防火墙或安全组允许 15672 和 5672 端口。

一键安装脚本(可选)

#!/bin/bash
set -e

sudo dnf install -y socat
sudo dnf install -y rabbitmq-server
sudo systemctl enable --now rabbitmq-server
sudo rabbitmq-plugins enable rabbitmq_management

ADMIN_PASS="YourSecurePassword123!"
sudo rabbitmqctl add_user admin "$ADMIN_PASS"
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

sudo firewall-cmd --permanent --add-port={5672,15672,25672}/tcp
sudo firewall-cmd --reload

echo "RabbitMQ 安装完成!"
echo "Web UI: http://$(hostname -I | awk '{print $1}'):15672"
echo "用户名: admin"
echo "密码: $ADMIN_PASS"