安装 RabbitMQ 服务
一. RabbitMQ 需要依赖 Erlang/OTP 环境
(1) 先去 RabbitMQ 官网,查看 RabbitMQ 需要的 Erlang 支持:https://www.rabbitmq.com/
进入官网,在 Docs -> Install and Upgrade -> Erlang Version Requirements
(2) 下图中可以看到 RabbitMQ 各个版本需要的 Erlang 版本
可以看到 RabbitMQ 最新版本 4.0.4 需要
Eralang/OTP:最低版本 26.2, 最高版本 27.x
(3) 点击 上图红框 RabbitMQ version 可以连接到 RabbitMQ 下载页面
https://www.rabbitmq.com/release-information
(4) 选择需要下载的版本 点击 Release Notes
以最新版本 4.0.4 为例
往下翻,找到 Assets 部分
我是在 Windows 电脑上安装,所以选择下载 rabbitmq-server-4.0.4.exe
因为 RabbitMQ 服务需要 Erlang/OTP 环境,所以先不要安装
二:Erlang 安装
官网 https://www.erlang.org/
到 DOWNLOAD
上面下载了 RabbitMQ 4.0.4 可以使用 Erlang/OPT 27.x 版本
这里也下载最新的版本: 27.1.2
我电脑是 64 位的,下载:Dowanld 64-bit installer
先安装 Erlang,安装完成目录如下
安装完成后配置环境变量
先添加一个 ERLANG_HOME 目录指向 Erlang_OTP 安装目录即可
然后打开 Path 添加 %ERLANG_HOME%\bin
测试 Erlang 是否正确,cmd 打开命令行,输入 elr,能输出正确的版本信息就可以了
疑问:我安装的 Erlang_OTP 27.1.2 下面的版本信息显示 erts-15.1.2 ,这对吗?
解释:
Erlang/OTP 版本:指的是整个 Erlang 系统的版本,包括 Erlang 语言本身、OTP (Open Telecom Platform) 的标准库、工具和一些运行时支持。
ERTS 版本:Erlang Runtime System (ERTS) 是 Erlang 运行时的核心部分,它负责执行 Erlang 程序、垃圾回收、进程调度等。每个 Erlang/OTP 版本都包含一个特定版本的 ERTS。
我安装的是 Erlang OTP 27.1.2,但输出显示的 ERTS 版本是 15.1.2。这是因为:
Erlang/OTP 版本号和 ERTS 版本号不完全是一样的,它们可能有所不同,但它们应该是相互兼容的。Erlang/OTP 27.x 通常配套使用 ERTS 15.x 版本。
在 Erlang 中,erts-15.x.x 是 Erlang/OTP 27 的一部分,这并不意味着出现了问题,而是版本控制的方式。
三. 安装 RabbitMQ
(1) 我第一次安装是选择自定义目录,选择了 D:盘,最后启动的时候报错 没有足够的权限,时间有限,没有得到解决
我重新安装使用了默认安装目录,自动选择了 C:\Program Files\RabbitMQ Server
(2) 安装好配置环境变量
添加 RABBITMQ_HOME 配置目录为 RabbitMQ 安装目录
然后在 Path 中添加
%RABBITMQ_HOME%\sbin
验证 Rabbit 安装环境
首先确认 RabbitMQ 服务 已经启动
打开 Ctrl + R 输入 services.msc
可以在 Windows 服务界面 选择 RabbitMQ 右键,启动/停止
也可以通过命令 启动/停止
启动:rabbitmq-server start
停止:rabbitmq-server stop
这个命令具体执行的 RabbitMQ 安装目录 sbin 目录下 的
rabbitmq-server.bat
rabbitmq-service.bat
这俩都可以启动服务,具体区别可以自行查阅资料
打开 cmd 命令行,输入:rabbitmqctl status
输出如下
或者输入 命令:rabbitmqctl -q status
四. RabbitMQ GUID 使用和验证
RabbitMQ GUID 使用:
(1) 安装了 Rabbitmq 后,默认也安装了该管理工具,执行命令即可启动
命令
rabbitmq-plugins enable rabbitmq_management
启动后,打开浏览器输入地址: http://localhost:15672/ 账号和密码默认都是: guest
登陆、登出 在界面右上角
可以查看各种信息
(2) 切换到 Queues and Streams
这个界面可以看到所有的连接队列 queue 和 每个队列当前接收到且 未处理的消息
可以看到 All queues (0) 表示还没有 队列连接
也可以通过命令行查看:rabbitmqctl list_queues
遇到的问题
CMD 打开命令行 执行:rabbitmq-service start
(1) 有如下 port xxxxx 的,就是这个端口被占用了,
ERROR: could not bind to distribution port 25672, it is in use by another node: rabbit@LAPTOP-8EMU05SF
25672 是 Rabbit 的默认端口
上面这个其实是 Rabbit 已经启动了,自己占用自己了,只是作为例子说明
解决 一:查找使用这个端口的应用,停止掉,然后重启
解决二:换一个端口
找到 RabbitMQ 的配置文件 advanced.config
打开文件 C:\Users\19039\AppData\Roaming\RabbitMQ\advanced.config
文件默认是如下,什么都没有
[].
修改如下
[{rabbit, [
{tcp_listeners, [5672]}, % 默认的 AMQP 端口
{ssl_listeners, [5671]}, % SSL 端口
{dist_port, 25673} % 修改分布式端口(例如 25673)
]}].
dist_port 就是默认端口 25672