安装Erlang OTP和RabbitMQ
1、RabbitMQ简介
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件 (亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
RabbitMQ由Erlang语言开发,Erlang语言用于并发及分布式系统的开发,在电信领域应用广泛,OTP(OpenTelecom Platform)作为Erlang语言的一部分,包含了很多基于Erlang开发的中间件及工具库,安装RabbitMQ需要 先 安装Erlang/OTP,并保持版本匹配。
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
查看是否Erlang是否安装成功,以管理员身份打开cmd窗口,输入命令erl
:
上述Erlang就安装好了,然后还有很重要的一件事,Erlang使用了环境变量HOMEDRIVE与HOMEPATH来访问配置文件.erlang.cookie,应注意这两个环境变量的有效性。最后需要设定环境变量ERLANG_HOME:
然后将 %ERLANG_HOME%\bin加入到全局路径中:
提醒一下,安装好Erlang后,最好是重启下电脑,好多地方说不用重启,但是不重启的话在后续安装RabbitMQ可能会出现问题。
3、安装RabbitMQ
下载地址:https://github.com/rabbitmq/rabbitmqserver/releases/tag/v3.7.14
可以到服务中查看RabbitMQ,验证是否安装成功?默认是启动状态:
4、配置插件(关键步骤)
为了更加方便的管理RabbitMQ服务,可以安装RabbitMQ提供的一个浏览器端管理插件,可以通过浏览器页面方便的进行服务管理。
4.1、插件安装方式
- 以管理员身份打开 cmd窗口;然后进入在RabbitMQ的安装目录下 sbin 目录;
- 如果RabbitMQ安装好没有启动(已起动可以忽略此步骤),可以先执行命令:
rabbitmq-plugins.bat start
- 在上述窗口执行命令:
rabbitmq-plugins.bat enable rabbitmq_management
- 打开浏览器访问网站
http://localhost:15672
进入登录页面,默认账号和密码都为guest
进入sbin目录下:
4.2、常见问题
如果按照上述步骤操作一般不会出问题,但是but在windosws中对RabbitMQ的兼容性说实话不是很好,所以总是会有一些奇奇怪怪的问题,有时候能让你怀疑到人生,所以为了避坑,还是做个笔记纪念下为好。
如果出现问题,访问地址localhost:15672
肯定会无法访问,如下所示:
第一次执行上述配置插件命令理论上会出现,started 3 plugins
如果第一次没有成功,再次执行会出现如下所示,其实不是一种错误:
我们例举一些常见的问题:
-
您的计算机名字要是英文的,不可以是中文;
修改过计算机名字后,要重启RabbitMQ服务
-
ERLANG_HOME not set correctly 错误
找到RabbitMQ的sbin目录下:
然后以管理身份打开cmd,进入RabbitMQ的sbin目录下,依次执行:rabbitmq-service.bat stop rabbitmq-service.bat install rabbitmq-service.bat start
-
ERROR: node with name “rabbit” already running on “计算机名字” 错误
写在RabbitMQ和Erlang(一定要卸载干净)
- 第一步将服务中的RabbitMQ停止
- 第二步在设置程序中卸载
- 第三步删除此cookie数据
- 第四步:删除Erlang和RabbitMQ安装目录
- 第五步:删除regedit注册表中的数据
- 最后重头来过,按照我上述的知道一步步安装应该就没错了!!!
最后祝你好运!!!