RabbitMQ是一个在AMQP协议标准基础上完整的,可复用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。
装RabbitMQ服务器必须首先安装 Erlang 运行环境。
erlang和Rabbit我下载后在百度云盘里面也有一份备份。链接: https://pan.baidu.com/s/1Sp2lB_Mj7-4MI3gSZt1PFg 提取码: w8z7
安装Erlang
安装Erlang 时要注意安装的RabbityMQ 所依赖的Erlang版本,根据RabbitMQ的要求选择一个版本,这里我要安装的RabbitMQ的版本是 3.7.7 ,他依赖的Erlang版本范围是
19.3.6.4 到 21.0.x,因此我选择版本是OTP 20.3. Erlang下载地址。下载Erlang安装包后直接安装就可以了。
设置ERLANG_HOME 环境变量
我这里是默认安装所以Erlang的安装路径在
C:\Program Files\erl9.3\bin\erl.exe
点击确定在系统环境变量里就增加刚刚添加的ERLANG_HOME
注意:如果之前安装了Erlang的其他版本,需要卸载后在进行重新安装和设置。
在开始菜单查找Erlang,点击启动 打开如下界面,那么Erlang就安装成功了。接下来就安装RabbitMQ。
安装RabbitMQ
可以在RabbitMQ的官方网站下载最新版本的RabbitMQ服务器安装程序,RabbitMQ下载地址, 这里我下载的是官方推荐的最新版本rabbitmq-server-3.7.7.exe, 然后点击默认安装。
RabbitMQ安装好后是作为windows service 运行在后台。
设置RabbitMQ环境变量
RabbitMQ 安装好后在开始菜单输入rabbitmq 会看到三个菜单:
这里的三个菜单是提供控制Windows service的命令,为了能够在任意Windows命令窗口上操控RabbitMQ服务需要在系统里加一个环境变量并且配置在系统的PHTH环境变量中。
首先添加一个RABBITQM_SERVER变量:
然后在系统的path变量中配置如下:
这样就可以在windows administrator启动的CMD窗口操控RabbitMQ服务了。不需要每次都定位到:
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.7\sbin>
安装 rabbitmq_management
我们用命令查看一下RabbtitMQ的所有插件:
C:\WINDOWS\system32>rabbitmq-plugins list
看到RabbtitMQ 罗列出来了很多插件
我们用下列命令安装rabbitmq_management插件,这款插件是可以可视化的方式查看RabbitMQ 服务器实例的状态,以及操控RabbitMQ服务器。
C:\WINDOWS\system32>rabbitmq-plugins enable rabbitmq_management 运行完命令后,看到下图表示安装成功了。
现在我们在浏览器中输入:http://localhost:15672 可以看到一个登录界面:
这里可以使用默认账号guest/guest登录后的界面如下:
在浏览器中输入 http://localhost:15672/api/ 就可以看到 RabbitMQ Management HTTP API 文档,如下图:
这样就可以查看RabbitMQ server实例状态的相关信息了。
rabbitmq常用命令
rabbitmq-server start 或者 service rabbitmq-server start #启动rabbitmq
rabbitmqctl list_exchanges
rabbitmqctl list_bindings
rabbitmqctl list_queues #分别查看当前系统种存在的Exchange和Exchange上绑定的Queue信息。rabbitmqctl status #查看运行信息
rabbitmqctl stop #停止运行rabbitmq
rabbitmq-plugins enable rabbitmq_management
启动rabbitmq的图形管理界面,这个操作必须重启rabbitmq, 然后在web中 http://127.0.0.1:15672 用户名和密码都是guest guest。如果局域网无法访问设置防火墙过滤规则或关闭防火墙。
**rabbitmq安装Management Plugin **
这个插件实际上已经随rabbitmq一道安装了,要做的是,enable它:
rabbitmq-plugins enable rabbitmq_management
然后,重启rabbitmq:
service rabbitmq-server stop
service rabbitmq-server start
之后,netstat -napt|grep 5672 就会看到
通过 http://rabbitmq-server-ip:15672,和guest:guest的用户名密码就能登录管理页面了
以应用方式启动
rabbitmq-server -detached 后台启动
rabbitmq-server 直接启动,如果你关闭窗口或者需要在窗口使用其他命令时应用就会停止
关闭:rabbitmqctl stop
问题总结:
二、安装的路径不能有中文或者空格
三、电脑名称不能有中文
右击我的电脑–》属性–》重命名这台电脑–》重启
四、注意事项:
erl和rabbitMQ版本一定要对应。
五、其他错误排查
- 配置erl环境变量,查看erl是否安装成功
变量名:ERLANG_HOME
变量值:Erlang 的安装目录,比如C:\java\erlang\erl10.7
将Erlang加入Path:
选中path,点编辑,新建
%ERLANG_HOME %\bin;
最后在客户端输入erl -version查看版本,如果显示版本号,表示安装成功。
- 配置MQ环境变量
变量名:RABBITMQ_SERVER
变量值:RabbitMQ的安装目录,比如C:\java\rabbitmq\rabbitmq_server-3.8.3
将RabbitMQ加入Path:
选中path,点编辑,新建
%RABBITMQ_SERVER %\sbin;
注释:这里注意是sbin,不是bin
-
查看mq当前状态
输入rabbitmqctl status,若出现如下图,则说明RabbitMQ Server已经启动。 -
安装出错
(1)执行命令:rabbitmq-plugins enable rabbitmq_management
Applying plugin configuration to rabbit@DESKTOP-88N1AS0… failed.
Error: {enabled_plugins_mismatch,“d:\install\RabbitMQ Server\rabbitmq_server-3.6.6\enabled_plugins”,
“c:\Users\Kris\AppData\Roaming\RabbitMQ\ENABLE~1”}
(2)解决办法1:
按顺序执行:
1.rabbitmq-service remove
2.rabbitmq-service install
3.rabbitmq-service start
4.rabbitmq-service start
5.rabbitmq-plugins enable rabbitmq_management
(2)解决办法2: 如果无法解决,可以查看cookie是否存在不一致
- Authentication failed (rejected by the remote node), please check the Erlang
使C:\Windows.erlang.cookie 和C:\User\lujie.erlang.cookie两个文件内容一致
用搜索工具对电脑文件系统进行检索,找到C:\Windows\System32\config\systemprofile下有个.erlang.cookie文件,
内容与C:\User\lujie.erlang.cookie不一样,后来修改其中一个文件的内容,使两个文件内容一样。
再次执行命令rabbitmqctl status,看是否成功。
(3)解决办法3:依然无法解决的情况下
1删除C:\Users\Administrator\AppData\Roaming\RabbitMQ\db文件夹
2sbin目录下管理员权限执行 net start rabbitmq
3sbin目录下管理员权限执行 rabbitmqctl status