淘先锋技术网

首页 1 2 3 4 5 6 7

RabbitMQ是一个开源的遵循 AMQP协议实现的基于 Erlang语言编写,即需要先安装部署Erlang环境再安装RabbitMQ环境*需加注意的是,可根据两者版本号的对应表,安装相应版本的Erlang和RabbitMQ。

一、安装准备工具

版本查看地址:RabbitMQ Erlang Version Requirements — RabbitMQhttps://www.rabbitmq.com/which-erlang.html

RabbitMQ的下载地址:Downloading and Installing RabbitMQ — RabbitMQhttp://www.rabbitmq.com/download.html

erlang下载地址如下:https://www.erlang.org/downloadshttps://www.erlang.org/downloads

二、安装erlang并配置环境变量

1、双击otp_win64_20.3.exe,点击next

2、选择安装目录

 3、配置环境变量

新建系统变量名为:ERLANG_HOME 变量值为erlang安装地址

 双击系统变量path,点击“新建”,将%ERLANG_HOME%\bin加入到path中。

%ERLANG_HOME%\bin

 4、验证erlang是否安装成功

win+R键,输入cmd,再输入erl,看到erlang版本号就说明erlang安装成功了。

三、安装RabbitMQ

1、双击下载后的.exe文件,安装过程与erlang的安装过程相同。

2、安装RabbitMQ-Plugins

打开命令行cd,输入RabbitMQ的sbin目录。

E:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.4\sbin

然后输入以下命令进行安装

rabbitmq-plugins enable rabbitmq_management

3、 验证rabbitmq是否安装成功

rabbitmqctl status 

4、打开浏览器,地址栏输入mq访问地址,即可看到管理界面的登陆页

http://127.0.0.1:15672  

 输入用户名和密码,都为guest 进入主界面:

四、安装延时消息插件【rabbitmq_delayed_message_exchange】

1、下载 rabbitmq_delayed_message_exchange 插件

下载延时消息插件:Community Plugins — RabbitMQ

 

 

2、把 下载下来的文件拷贝到RabbitMQ安装目录下的 plugins 目录。

3、进入RabbitMQ安装目录下的 sbin目录,在cmd窗口下执行如下命令使插件生效 如果后面发现在未失效请重启服务再查看

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

打开rabbitmq控制台,点击exchange,如果Add a new exchange功能里的Type下拉框里出现x-delayed-message类型,则说明安装成功,可以发布延时消息了。

 

五、安装过程中遇到的问题

1、出现 Authentication failed (rejected by the remote node), please check the Erlang cookie

如果改完cookie没生效,重启一下电脑,清除cookie缓存,获取最新修改的cookie,即可解决该问题

解决办法:

比较下面两个文件夹下的.erlang.cookie文件内容,后来修改其中一个文件的内容,使两个文件内容一样。再次执行命令rabbitmqctl status,成功

C:\Windows\System32\config\systemprofile\.erlang.cookie
C:\User\{{电脑用户名}}\.erlang.cookie

2、报错:Status of node rabbit@ … ** (ArgumentError) argument error (stdlib) 

检查rabbitmq 服务的日志db、log 等文件夹的路径是否含有中文,检查本机的用户名是否为中文(存在中文会出现下面的报错)

3、主机名原来为中文,改为英文后执行rabbitmqctl status报错, * connected to epmd (port 4369) on DESKTOP-AJ0N…suggestion: start the node 

解决办法:
执行以下命令,重新安装rabbit-mq

rabbitmq-service remove
rabbitmq-service install
#如果上述命令不行,执行
rabbitmq-server start 

4、报错"start_error, failed_to_start_child", 原因:rabbitmq和erlang版本不一致