我在测试和生产环境中使用 Linux 运行RabbitMQ,但我的开发环境恰好是 Windows。我需要一个 RabbitMQ 的本地实例。由于 RabbitMQ 支持 Windows,因此设置过程相当简单,但您可能会遇到一些潜在问题。本文旨在帮助您快速入门,尽快上手。
对于此示例,我将使用以下版本:
安装 Erlang
首先要确保你安装的 Erlang 版本与你将要使用的 RabbitMQ 版本兼容。你可以查看兼容性指南。
下载 Erlang
从 Erlang 官网下载 Erlang 。注意,本例中我们使用的是24.1版本。
运行安装程序
以管理员身份运行安装程序,这非常重要的!!!
创建Erlang环境变量
您还需要创建指向 Erlang 安装根文件夹的ERLANG_HOME环境变量。
我忘记以管理员身份运行 Erlang 安装程序了,该如何修复?
以非管理员用户身份安装会导致.erlang.cookie位于错误的位置。这会导致无法使用 rabbitmqctl。
解决方法
您可以通过两种方式解决此问题:
- 卸载 Erlang 并以管理员身份再次运行安装程序
- 将 .erlang.cookie 移动到正确的位置
- 手动复制文件 .erlang.cookie
- %SystemRoot% 或 %SystemRoot%\system32\config\systemprofile
- 到 %HOMEDRIVE%%HOMEPATH%
- 手动复制文件 .erlang.cookie
安装 RabbitMQ
作为参考,这里是Windows 上安装RabbitMQ 官方说明的链接。
从 GitHub 版本下载 RabbitMQ 。注意,本例中我们使用的是3.10.5版本。
以管理员身份运行安装程序 ,这非常 重要的!!!
现在您已成功安装 RabbitMQ。不过,在继续下一步之前,您需要安装一个非常有用的插件,名为Management Plugin。
启用管理插件
RabbitMQ管理插件提供了一个 Web 界面,可用于管理您的 RabbitMQ 实例。这个插件非常有用,您一定会需要它,尤其是在开发环境中。
打开 PowerShell 命令提示符。
将名为homedrive的变量设置为您的用户帐户的根文件夹:
set homedrive=C:\users\<Username>
转到 RabbitMQ sbin文件夹:
cd C:\Program Files\RabbitMQ Server\rabbitmq_server-3.10.5\sbin
停止 RabbitMQ:
rabbitmqctl.bat stop
启用插件:
rabbitmq-plugins.bat
enable
rabbitmq_management
如果成功,您现在应该在启用的插件列表中看到该插件:
rabbitmq-plugins.bat list
启动RabbitMQ:
rabbitmqctl.bat start
登录管理控制台
在浏览器中进入管理控制台网页:
您应该会看到登录提示:
使用默认的来宾用户帐户登录(注意:此帐户仅适用于本地主机)
- 用户名:guest
- 密码:guest
您现在应该看到概览页面。
如果您已经到达这一步,那么恭喜您,一切正常!
设置 RabbitMQ 进行客户端连接
现在我们已经启动并运行了 RabbitMQ,在从客户端连接它之前,你需要进行一些设置。首先是创建虚拟主机和用户帐户。
创建虚拟主机
RabbitMQ 中的虚拟主机有点像命名空间。它允许多个应用程序连接到单个 RabbitMQ 实例/集群,同时保持每个应用程序的连接、交换和队列独立。
转到管理->虚拟主机并添加新的虚拟主机:
新的虚拟主机现已添加:
创建用户帐户
前往“管理员”->“用户” ,添加新的用户帐户。如果您的用户帐户要用于创建队列等操作,请务必添加“管理员”标签。
新的用户帐户已创建:
为用户添加虚拟主机
请注意,新用户帐户尚无访问任何虚拟主机的权限。因此,接下来我们将把虚拟主机添加到用户帐户中。
从管理->用户选项卡单击我们刚刚创建的用户的用户名:
从下拉菜单中选择我们的虚拟主机,然后单击“设置权限”按钮:
如果您返回到“用户”选项卡,您可以看到您的用户帐户现在具有虚拟主机的权限:
您现在可以使用虚拟主机和用户帐户将客户端连接到此 RabbitMQ 实例!
启用功能标志
请注意,RabbitMQ 在添加新功能时会使用功能标志。这是一种非常好的方法,因为它可以让您在升级 RabbitMQ 集群时更轻松地进行滚动升级。由于许多功能标志默认处于关闭状态,如果您要在生产环境中使用它们,则可能需要在开发环境中启用它们。
您可以从管理员 -> 功能标志查看功能标志:
概括
就这样。希望这些说明能帮助您启动并运行 RabbitMQ 实例!
参考
如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。