赞
踩
Windows环境下的RabbitMQ安装
原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装RabbitMQ前需要安装Erlang。
或者:https://www.erlang-solutions.com/resources/download.html
根据向导安装
系统变量 => 新建 =>
ERLANG_HOME
D:\Java\RabbitMQ\erl-23.2
Path变量新建 =>
%ERLANG_HOME%\bin
cmd 验证 'erl' 或者 'erl -version'
已有 Erlang 手动启动,先修改安装目录 bin 文件夹下的 erl.ini 文件中的相关路径为当前安装路径,再执行 erl 安装目录下的 “Install.exe”。
需要注意:Erlang 和 RabbitMQ 的版本需要在兼容性区间内,否则下面操作 rabbitmq 会出现一些例如 #开启管理插件# 命令的报错。
版本对应区间参考地址:Erlang Version Requirements | RabbitMQ
例如:RabbitMQ 的版本是3.13.0,Erlang 的版本就要在26.0 ~ 26.2.X区间内兼容
Installing RabbitMQ | RabbitMQ
两种安装方式(安装包安装,或二进制文件手动安装,本文使用2)
1)rabbitmq-server-3.13.1.exe.asc
2)rabbitmq-server-windows-3.13.1.zip
官网下载地址(官网已不支持大部分旧版本的下载了)
Release Information | RabbitMQ
GitHub下载:
Releases · rabbitmq/rabbitmq-server · GitHub
Release RabbitMQ 3.9.14 · rabbitmq/rabbitmq-server · GitHub
解压下载的 rabbitmq-server 压缩包
管理员身份 cmd 进到 mq 解压目录下的 sbin 目录
系统变量 => 新建 =>
RABBITMQ_SERVER
D:\Java\RabbitMQ\rabbitmq_server-3.9.14
Path变量新建 =>
%RABBITMQ_SERVER%\sbin
设置数据存储目录
系统变量 => 新建 =>
RABBITMQ_BASE
D:\Java\RabbitMQ\data
命令:rabbitmq-plugins.bat enable rabbitmq_management
命令:rabbitmq-plugins enable rabbitmq_delayed_message_exchange
命令:rabbitmq-service.bat install
两种方式不能同时启动,会报错占用端口,一般接入代码项目使用情况下可以用服务进程启动方式,主要比较方便,不用每次都去启动窗口。
(1)热启动(不能关闭退出命令窗口)
命令:rabbitmq-server.bat
或者在sbin目录下双击 rabbitmq-server.bat 启动
注:像在 mq 操作常用的一些增删改查命令,使用热启动方式,再另起 cmd 去执行命令,否则会报一些连接的错误。
(2)服务进程启动
命令:net start RabbitMQ
或者进入任务管理器-服务,开启服务 “RabbitMQ”
注意:
1)如果启动报错:RabbitMQ 服务无法启动,发生系统错误1067,可能是安装目录存在中文,修改安装路径不能有中文;或者之前安装过卸载了再安装就会出现这个报错,可以删除文件夹:C:\Users\{username}\AppData\Roaming\RabbitMQ,然后执行启动命令(若删除时提示占用,结束进程 erl.exe、erlsrv.exe 即可)。
2)启动成功后,会出现两个进程:erl.exe、erlsrv.exe,请勿结束,否则RabbitMQ服务停止。
查看安装成功状态命令:(热启动执行)
rabbitmqctl status
浏览器打开 http://localhost:15672/
能打开表示安装启动成功、否则失败(也可能是未开启管理插件)
默认账号密码:guest guest
由于guest用户被限制,只能通过localhost访问,因此需要新建一个用户,并授予管理员权限。
cmd sbin 下执行以下两条命令:(热启动执行)
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
第一条命令的 admin 是用户名和密码(自定义),第二条命令的 admin 是第一条命令的用户名
授权vhost:rabbitmqctl set_permissions -p / admin .* .* .*
授权命令可能会执行失败,如果执行失败,用 guest 登录 http://localhost:15672/
完成 vhost 授权
rabbitmq-plugins enable rabbitmq_mqtt
rabbitmq-plugins enable rabbitmq_web_stomp
rabbitmq-plugins enable rabbitmq_web_stomp_examples
命令启动:rabbitmq-service start
停止服务:rabbitmq-service stop
卸载服务:rabbitmq-service remove
创建用户:rabbitmqctl add_user {username} {password}
设置管理员角色:rabbitmqctl set_user_tags {username} administrator
设置访问权限:set_permissions [-p vhost] {user} {conf} {write} {read}
conf、write、read采用正则表达式,这里的正则主要是针对exchange和queue。主要2种特殊的表达式:
^$:表示完全不匹配(即没有权限)
.*:表示匹配所有(即所有权限)
1、命令行进入sbin目录,输入命令:rabbitmq-plugins list,查看已安装的插件及启动情况
2、输入命令启动插件:rabbitmq-plugins enable rabbitmq_management
3、如果还是解决不了,输入命令启动:rabbitmqctl start_app
RabbitMQ 如果实在报错出问题,就卸载删除干净重新进行安装部署
(一般只卸载 RabbitMQ,不用动 Erlang)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。