RabbitMQ 在 Windows 系统上的安装


官方地址下载有时较慢,这里了分享一个百度网盘地址: 网盘下载,提取码:8l69


1. 下载安装 Erlang

RabbitMQ的安装依赖于Erlang,所以需要先安装对应版本的64Erlang。参见 RabbitMQ Erlang 版本要求
在这里插入图片描述
这里我准备安装当前最新版的RabbitMQ 3.7.8,根据版本要求,需要提前安装21.x版本的Erlang。这里我下载21.0.1版本:下载地址
在这里插入图片描述
请注意,必须使用管理员身份运行来安装Erlang,否则RabbitMQ Windows 服务将无法发现它。右键安装程序,以管理员身份运行:
在这里插入图片描述
选择安装目录,直接点击Next安装即可。
在这里插入图片描述
中间需要安装相关的C++环境,正常安装即可。
在这里插入图片描述

2. 下载安装 RabbitMQ

Erlang安装完毕后,请下载RabbitMQ安装程序rabbitmq-server-{version}.exe并运行它。将会把RabbitMQ安装为Windows服务,并使用默认配置启动它。

这里我将安装RabbitMQ 3.7.8。下载RabbitMQ 3.7.8下载地址
在这里插入图片描述
双击运行安装程序,直接点击Next,选择安装目录,点击Install安装就行。
在这里插入图片描述
安装完毕会在任务管理器看到RabbitMQ服务启动了。(这里出现了一个问题,后面的5.1.具体说明)
在这里插入图片描述

3. 安装管理界面

打开 CMD 命令行窗口,进入RabbitMQ安装目录的sbin目录下,我的目录为:

D:\Programmer\RabbitMQ Server\rabbitmq_server-3.8.14\sbin

执行下面的命令:

rabbitmq-plugins enable rabbitmq_management

具体操作,可以在这个sbin目录下直接打开CMD命令行窗口,方法:先进入这个目录,在地址栏输入cmd回车,直接就会打开已经入当前目录的命令行窗口。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
执行命令:

Microsoft Windows [版本 10.0.19042.867]
(c) 2020 Microsoft Corporation. 保留所有权利。

D:\Programmer\RabbitMQ Server\rabbitmq_server-3.7.8\sbin>rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@DESKTOP-JUNZHU127-PC:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@DESKTOP-JUNZHU127-PC...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.

D:\Programmer\RabbitMQ Server\rabbitmq_server-3.7.8\sbin>

到这里管理界面就安装成功了。

4. 访问管理界面

接下来就可以使用浏览器登录到控制台进行管理了。在浏览器里输入http://localhost:15672即可访问管理界面:
在这里插入图片描述
登录账号和密码都是:guest,登录后界面如下:
在这里插入图片描述
可以在Admin中进行用户管理,比如修改密码,添加账户等。这里简单说下账户的几种角色:

  • 管理员(management:用户可以访问管理插件
  • 决策人(policymaker:用户可以访问管理插件并管理他们可以访问的 host 的策略和参数。
  • 监控(monitoring:用户可以访问管理插件,查看所有连接和通道以及节点相关信息。
  • 系统管理员(administrator:用户可以做监控所能做的一切,管理用户、虚拟主机和权限,关闭其他用户的连接,以及管理所有虚拟主机的策略和参数。

5. 遇到的问题

5.1. RabbitMQ 服务自动停止

在这里插入图片描述
Windows 下安装RabbitMQ后,正常情况下RabbitMQ会自动注册服务并自动启动,但是在安装好RabbitMQ服务之后,我发现在任务管理器中RabbitMQ显示的状态是已停止,当我手动点击开始后,几秒钟后还是会变为已停止。

出现这种情况一般都是由于我们的用户名是中文,而导致默认的 db 和 log 访问出现问题。我的用户名是中文,C:\Users\张三。目前有两种处理方式,一种是修改用户名,不过查了下,比较麻烦;第二种就是不让 db 和 log 访问默认地址,我们指定一个地址,方法如下:

我们先卸载已安装的RabbitMQ,直接在控制面板中的程序卸载就行。然后在我们的系统变量里设置一个RABBITMQ_BASE的变量路径为一个不含英文的路径,比如D:\Programmer\rabbitmq,接下来重新安装RabbitMQ即可,然后就会看到RabbitMQ服务自动注册了,并且不会自动停止了。
在这里插入图片描述
可以看到我们指定的目录下生成了RabbitMQ相关的文件。
在这里插入图片描述

所以建议以后大家在使用 Windows 操作系统的时候尽量用英文来命名文件或目录,这样会极大的减小以后安装软件出现莫名其妙的问题。

参考博客:RabbitMQ服务启动就自动停止解决方案

5.2. 管理界面插件启动失败(未解决)

本来是要安装当前最新的Erlang 23.3RabbitMQ 3.8.14,但是在安装管理界面插件的时候出现了下面的错误,未能成功安装。所以卸载重新安装了旧的版本。这是下载的最新的文件:
在这里插入图片描述
在这里插入图片描述
这是命令行提示的错误:

C:\Users\张三>D:

D:\>cd "\Programmer\RabbitMQ Server\rabbitmq_server-3.8.14\sbin"

D:\Programmer\RabbitMQ Server\rabbitmq_server-3.8.14\sbin>rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@DESKTOP-JUNZHU127-PC:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@DESKTOP-JUNZHU127-PC...
Stack trace:

** (CaseClauseError) no case clause matching: {
    
    :could_not_start, :rabbitmq_management_agent, {
    
    :rabbitmq_management_agent, {
    
    {
    
    :shutdown, {
    
    :failed_to_start_child, :rabbit_mgmt_agent_sup, {
    
    :shutdown, {
    
    :failed_to_start_child, :rabbit_mgmt_external_stats, {
    
    :badarg, [{
    
    :erlang, :list_to_binary, [[99, 58, 47, 85, 115, 101, 114, 115, 47, 29579, 27874, 47, 65, 112, 112, 68, 97, 116, 97, 47, 82, 111, 97, 109, 105, 110, 103, ...]], []}, {
    
    :rabbit_mgmt_external_stats, :"-i/2-lc$^0/1-2-", 1, [file: 'src/rabbit_mgmt_external_stats.erl', line: 282]}, {
    
    :rabbit_mgmt_external_stats, :i, 2, [file: 'src/rabbit_mgmt_external_stats.erl', line: 282]}, {
    
    :rabbit_mgmt_external_stats, :infos, 3, [file: 'src/rabbit_mgmt_external_stats.erl', line: 232]}, {
    
    :rabbit_mgmt_external_stats, :emit_update, 1, [file: 'src/rabbit_mgmt_external_stats.erl', line: 464]}, {
    
    :rabbit_mgmt_external_stats, :init, 1, [file: 'src/rabbit_mgmt_external_stats.erl', line: 440]}, {
    
    :gen_server, :init_it, 2, [file: 'gen_server.erl', line: 417]}, {
    
    :gen_server, :init_it, 6, [file: 'gen_server.erl', line: 385]}]}}}}}, {
    
    :rabbit_mgmt_agent_app, :start, [:normal, []]}}}}
    (rabbitmqctl 3.8.0-dev) lib/rabbitmq/cli/plugins/plugins_helpers.ex:210: RabbitMQ.CLI.Plugins.Helpers.update_enabled_plugins/2
    (rabbitmqctl 3.8.0-dev) lib/rabbitmq/cli/plugins/plugins_helpers.ex:107: RabbitMQ.CLI.Plugins.Helpers.update_enabled_plugins/4
    (rabbitmqctl 3.8.0-dev) lib/rabbitmq/cli/plugins/commands/enable_command.ex:121: anonymous fn/6 in RabbitMQ.CLI.Plugins.Commands.EnableCommand.do_run/2
    (elixir 1.10.4) lib/stream.ex:1325: anonymous fn/2 in Stream.iterate/2
    (elixir 1.10.4) lib/stream.ex:1538: Stream.do_unfold/4
    (elixir 1.10.4) lib/stream.ex:1609: Enumerable.Stream.do_each/4
    (elixir 1.10.4) lib/stream.ex:956: Stream.do_enum_transform/7
    (elixir 1.10.4) lib/stream.ex:1609: Enumerable.Stream.do_each/4

{
    
    :case_clause, {
    
    :could_not_start, :rabbitmq_management_agent, {
    
    :rabbitmq_management_agent, {
    
    {
    
    :shutdown, {
    
    :failed_to_start_child, :rabbit_mgmt_agent_sup, {
    
    :shutdown, {
    
    :failed_to_start_child, :rabbit_mgmt_external_stats, {
    
    :badarg, [{
    
    :erlang, :list_to_binary, [[99, 58, 47, 85, 115, 101, 114, 115, 47, 29579, 27874, 47, 65, 112, 112, 68, 97, 116, 97, 47, 82, 111, 97, 109, 105, ...]], []}, {
    
    :rabbit_mgmt_external_stats, :"-i/2-lc$^0/1-2-", 1, [file: 'src/rabbit_mgmt_external_stats.erl', line: 282]}, {
    
    :rabbit_mgmt_external_stats, :i, 2, [file: 'src/rabbit_mgmt_external_stats.erl', line: 282]}, {
    
    :rabbit_mgmt_external_stats, :infos, 3, [file: 'src/rabbit_mgmt_external_stats.erl', line: 232]}, {
    
    :rabbit_mgmt_external_stats, :emit_update, 1, [file: 'src/rabbit_mgmt_external_stats.erl', line: 464]}, {
    
    :rabbit_mgmt_external_stats, :init, 1, [file: 'src/rabbit_mgmt_external_stats.erl', line: 440]}, {
    
    :gen_server, :init_it, 2, [file: 'gen_server.erl', line: 417]}, {
    
    :gen_server, :init_it, 6, [file: 'gen_server.erl', line: 385]}]}}}}}, {
    
    :rabbit_mgmt_agent_app, :start, [:normal, []]}}}}}


D:\Programmer\RabbitMQ Server\rabbitmq_server-3.8.14\sbin>

猜你喜欢

转载自blog.csdn.net/wb1046329430/article/details/115206473