Linux 上安装 RabbitMQ 的实用步骤
一 准备与环境检查
- 确认系统版本与架构(如 Ubuntu 20.04/22.04、CentOS 7/8/Stream、RHEL),并具备 sudo 权限。
- 安装前先规划版本匹配:RabbitMQ 对 Erlang 有严格的版本对应关系,部署前请先查阅官方说明页面:https://www.rabbitmq.com/which-erlang.html。
- 开放必要端口(如 5672/AMQP、15672/管理界面),或在内网环境测试时临时关闭防火墙。生产环境建议仅开放必要端口并限制来源。
二 发行版仓库安装步骤
- Ubuntu/Debian
- 安装 Erlang(服务器环境可用 erlang-nox):sudo apt-get update && sudo apt-get install -y erlang-nox
- 安装 RabbitMQ:sudo apt-get install -y rabbitmq-server
- 启动与自启:sudo systemctl start rabbitmq-server && sudo systemctl enable rabbitmq-server
- 启用管理插件:sudo rabbitmq-plugins enable rabbitmq_management
- 防火墙:sudo ufw allow 5672,15672/tcp
- CentOS/RHEL
- 安装 EPEL 与 Erlang:sudo yum install -y epel-release && sudo yum install -y erlang
- 安装 RabbitMQ(以仓库或 RPM 包为主,见下文“版本匹配与仓库”):sudo yum install -y rabbitmq-server
- 启动与自启:sudo systemctl start rabbitmq-server && sudo systemctl enable rabbitmq-server
- 启用管理插件:sudo rabbitmq-plugins enable rabbitmq_management
- 防火墙:sudo firewall-cmd --permanent --add-port=5672/tcp --add-port=15672/tcp && sudo firewall-cmd --reload
- 以上步骤完成后,可通过 http://服务器IP:15672 访问管理界面(默认账号 guest/guest,默认仅本机访问)。
三 版本匹配与仓库安装(RHEL/CentOS 推荐)
- 添加 RabbitMQ 官方仓库(示例为 3.11 系列,实际请选择与你需要的 RabbitMQ 版本匹配的仓库脚本):
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
- 导入 GPG Key:
sudo rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
sudo rpm --import https://packagecloud.io/gpg.key
- 安装 Erlang(仓库方式,自动匹配兼容版本):sudo yum install -y erlang
- 安装 RabbitMQ:sudo yum install -y rabbitmq-server
- 启动与自启:sudo systemctl start rabbitmq-server && sudo systemctl enable rabbitmq-server
- 说明:若使用 RPM 离线包,可能需先安装 socat 等依赖,并导入正确的签名 Key,例如:
sudo yum -y install epel-release && sudo yum -y install socat
sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
然后再执行 rpm -ivh rabbitmq-server-*.rpm。
四 通用与验证步骤
- 常用运维命令
- 查看状态:sudo systemctl status rabbitmq-server
- 启停服务:sudo systemctl {start|stop|restart} rabbitmq-server
- 启用管理插件:sudo rabbitmq-plugins enable rabbitmq_management
- 查看节点与集群信息:sudo rabbitmqctl status / cluster_status
- 访问与登录
- 管理界面:打开 http://服务器IP:15672
- 默认账号:guest/guest(默认仅允许 localhost 登录;如需远程访问,请创建管理员用户并授权,见下节)
- 端口说明
- 5672:AMQP 0-9-1 与 AMQP 1.0 客户端通信
- 15672:HTTP API 与管理插件 Web UI
- 如需从外部访问管理界面,请放行防火墙并配置用户权限。
五 安全与远程访问配置
- 创建管理员用户并赋权(示例用户 admin,密码自定义):
sudo rabbitmqctl add_user admin ‘YourStrongPassword’
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin “." ".” “.*”
- 远程访问建议
- 不建议长期使用 guest/guest 远程登录,生产环境请删除或禁用默认账号:
sudo rabbitmqctl delete_user guest
- 仅开放必要来源 IP 的 5672/15672 端口,避免使用弱口令与明文传输。