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
常见问题避免
- 不要手动安装 el7 或 el8 的 RPM 包,会导致依赖冲突。
- 如果 15672 端口无法访问,请确认是否启用了 rabbitmq_management 插件。
- guest 用户仅限本地登录,远程管理必须创建新用户。
- 确保防火墙或安全组允许 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"
浙公网安备 33010602011771号