RabbitMQ安装指南:Docker、CentOS与Windows全攻略
RabbitMQ安装
RabbitMQ作为消息队列中的老牌选手,安装方式因操作系统和部署习惯不同而有所区别。这里整理了几种最常见环境下的安装步骤——从Docker一键部署到Windows、CentOS手动安装,覆盖绝大多数场景。话不多说,直接进入正题。
基础环境
Docker: 19.03.5 · Windows 10 · CentOS 7
RabbitMQ: 3.8.3 · Erlang: 22.3
基于Docker的安装使用
先看看Docker Hub上都有什么。直接搜索rabbitmq,第一个就是官方镜像,主角光环拉满。
点进去,注意带management后缀的tag就是带Web管理界面的版本,开发调试首选。拉取镜像:
docker pull rabbitmq:management
创建容器时一定要把两个端口暴露出来:5672是消息通信端口,15672是控制台Web端口。
docker run --name rabbitmq -d -p 15672:15672 -p 5672:5672 rabbitmq:management
启动后访问 http://localhost:15672,默认用户名密码都是guest。登录成功,基于Docker的RabbitMQ就搭好了。
Windows下安装RabbitMQ(Windows 10)
官方提供了两种方式:Chocolatey包管理器安装和手动离线安装。这里以离线安装为例,步骤更清晰。
1. 安装依赖Erlang
RabbitMQ基于Erlang,所以必须先装Erlang 64位(操作系统必须是64位)。注意:只能用管理员权限安装,且同一版本只能装一个,避免冲突。
2. 以管理员身份安装Erlang
安装过程中可能会提示需要VC++运行库,记得点install安装,完成后close即可。剩下的就一直Next,直到安装完成。
3. 下载RabbitMQ安装文件并安装
同样用管理员权限运行安装包。因为要发布服务端口,防火墙可能会弹出拦截提示,选择允许即可。
安装完成后,所有程序菜单会出现RabbitMQ的命令快捷方式,同时服务管理器里也会多一个RabbitMQ服务。
4. 启用Web管理界面插件
默认安装不带Web管理界面,需要手动启用。打开RabbitMQ Command Prompt(或cmd切到安装目录),执行:
rabbitmq-plugins.bat enable rabbitmq_management
启用后就可以访问http://localhost:15672了。需要注意端口冲突可能导致服务无法启动,提前确保端口未被占用。
CentOS下安装RabbitMQ
Linux下安装并不通用,不同发行版脚本差异很大。这里以CentOS为例,主要分两步:装Erlang,再装RabbitMQ。RabbitMQ安装资源拉取依赖PackageCloud,先导入签名密钥:
# 导入新PackageCloud密钥
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
# 导入旧PackageCloud密钥(2018年12月1日后停止使用)
rpm --import https://packagecloud.io/gpg.key
方法1:yum安装
配置仓库:直接执行官方脚本添加Erlang和RabbitMQ的yum源。如果网络不通,可以下载脚本手动执行。
# Erlang源
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
# RabbitMQ源
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
安装Erlang:
yum search erlang
yum install erlang.x86_64
安装后检查erl -version确认。
安装RabbitMQ:
yum search rabbit
yum install rabbitmq-server.noarch
安装后RabbitMQ已注册为系统服务,启动并开启Web管理插件:
systemctl start rabbitmq-server
rabbitmq-plugins enable rabbitmq_management
此时访问Web控制台,会发现guest用户无法登录——因为默认禁止非本地访问。需要修改配置文件/usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/ebin/rabbit.app,将loopback_users项中的<<"guest">>去掉或置空。
方法2:使用安装包安装
如果yum源不好用,可以直接下载rpm包手动安装。选择对应系统版本(el7表示CentOS 7)。
安装Erlang:
wget https://bintray.com/rabbitmq-erlang/rpm/download_file?file_path=erlang/22/el/7/x86_64/erlang-22.3.2-1.el7.x86_64.rpm
rpm -ivh erlang-22.3.2-1.el7.x86_64.rpm
安装RabbitMQ:
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-3.8.3-1.el7.noarch.rpm
安装时可能会提示缺少socat依赖,用yum先安装socat:yum install socat,然后再安装rabbitmq-server。安装完成后,设置开机自启:
chkconfig rabbitmq-server on
其余操作(启动、停止、重启、启用Web插件、解决guest远程访问问题)与方法1完全一致,不再赘述。
简单总结一下:RabbitMQ是用Erlang开发的,安装时首先要解决Erlang的安装和版本匹配问题。不同环境下的步骤虽然不同,但核心思路一致——先装Erlang,再装RabbitMQ,最后开启Web管理插件。版本冲突是最容易踩的坑,安装前务必确认Erlang和RabbitMQ的版本兼容性。
















