RabbitMQ简介

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件 (亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
image
RabbitMQ由Erlang语言开发,Erlang语言用于并发及分布式系统的开发,在电信领域应用广泛,OTP(OpenTelecom Platform)作为Erlang语言的一部分,包含了很多基于Erlang开发的中间件及工具库,安装RabbitMQ需要 先 安装Erlang/OTP,并保持版本匹配。
image

2、基本概念

RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。

2.1、RabbitMQ服务支持下列操作系统:

  • Linux

  • WindowsNT 到 10

  • Windows Server2003 到 2016

  • macOS

  • Solaris

  • FreeBSD

  • TRU64

  • VxWorks

2.2、RabbitMQ支持下列编程语言:

  • Python

  • Java

  • Ruby

  • PHP

  • C#

  • JavaScript

  • Go

  • Elixir

  • Objective-C

  • Swift

2.3、主要特性

  • 可伸缩性:集群服务

  • 消息持久化:从内存持久化消息到硬盘,再从硬盘加载到内存

2.4、友情提醒

Erlang与RabbitMQ,安装路径都不要含有空格符和中文,不听的话后面会有血的教训!!!

3、安装Erlang

下载地址:http://erlang.org/download/otp_win64_20.3.exe
image
image
image
image
image
上述Erlang就安装好了,然后还有很重要的一件事,Erlang使用了环境变量HOMEDRIVE与HOMEPATH来访问配置文件.erlang.cookie,应注意这两个环境变量的有效性。最后需要设定环境变量ERLANG_HOME:
image
然后将 %ERLANG_HOME%\bin加入到全局路径中:
image
提醒一下,安装好Erlang后,最好是重启下电脑,好多地方说不用重启,但是不重启的话在后续安装RabbitMQ可能会出现问题。
查看是否Erlang是否安装成功,以管理员身份打开cmd窗口,输入命令erl
image

3、安装RabbitMQ

下载地址:https://github.com/rabbitmq/rabbitmqserver/releases/tag/v3.7.14
image
image
image
image
image
可以到服务中查看RabbitMQ,验证是否安装成功?默认是启动状态:
image

4、配置插件(关键步骤)

为了更加方便的管理RabbitMQ服务,可以安装RabbitMQ提供的一个浏览器端管理插件,可以通过浏览器页面方便的进行服务管理。

4.1、插件安装方式

  • 以管理员身份打开 cmd窗口;然后进入在RabbitMQ的安装目录下 sbin 目录;

  • 如果RabbitMQ安装好没有启动(已起动可以忽略此步骤),可以先执行命令:

1
rabbitmq-plugins.bat start
  • 在上述窗口执行命令:
1
rabbitmq-plugins.bat enable rabbitmq_management
  • 打开浏览器访问网站http://localhost:15672进入登录页面,默认账号和密码都为guest

进入sbin目录下:
image
image
image

4.2、常见问题

如果按照上述步骤操作一般不会出问题,但是but在windosws中对RabbitMQ的兼容性说实话不是很好,所以总是会有一些奇奇怪怪的问题,有时候能让你怀疑到人生,所以为了避坑,还是做个笔记纪念下为好。

如果出现问题,访问地址localhost:15672肯定会无法访问,如下所示:
image

第一次执行上述配置插件命令理论上会出现,started 3 plugins
image
如果第一次没有成功,再次执行会出现如下所示,其实不是一种错误:
image
我们例举一些常见的问题:

  • 您的计算机名字要是英文的,不可以是中文;

修改过计算机名字后,要重启RabbitMQ服务
image

  • ERLANG_HOME not set correctly 错误

找到RabbitMQ的sbin目录下:
image
换成你的erl.exe的绝对路径,我的是 D:\ProgramInstall\erl-24.3.4.6\bin\erl.exe
2023-02-18_223022
然后以管理身份打开cmd,进入RabbitMQ的sbin目录下,依次执行:

1
2
3
rabbitmq-service.bat stop
rabbitmq-service.bat install
rabbitmq-service.bat start
  • ERROR: node with name “rabbit” already running on “计算机名字” 错误

写在RabbitMQ和Erlang(一定要卸载干净)

  • 第一步将服务中的RabbitMQ停止
  • 第二步在设置程序中卸载
    image
  • 第三步删除此cookie数据
    image
  • 第四步:删除Erlang和RabbitMQ安装目录
  • 第五步:删除regedit注册表中的数据
    image
  • 最后重头来过,按照我上述的知道一步步安装应该就没错了!!!

最后祝你好运!!!