【RabbitMQ之一:windows环境下安装RabbitMQ】
目录
- 一、下载并安装Erlang
- 1、下载Erlang
- 2、安装Erlang
- 3、配置环境变量
- 4、验证erlang是否安装成功
- 二、下载并安装RabbitMQ
- 1、下载RabbitMQ
- 2、安装RabbitMQ
- 3、配置环境变量
- 4、验证RabbitMQ是否安装成功
- 5、启动RabbitMQ服务(安装后服务默认自启动)
- 三、安装过程中遇到的问题
- 1、出现 Authentication failed (rejected by the remote node), please check the Erlang cookie
- 2、报错:Status of node rabbit@ … ** (ArgumentError) argument error (stdlib)
- 3、主机名原来为中文,改为英文后执行rabbitmqctl status报错, * connected to epmd (port 4369) on DESKTOP-AJ0N…suggestion: start the node
- 4、报错"start_error, failed_to_start_child", 原因:rabbitmq和erlang版本不一致
- 5、Distribution failed: {{:shutdown, {:failed_to_start_child, :net_kernel, {:EXIT, :nodistribution}}}, {:child, :undefined, :net_sup_dynamic, {:erl_distribution, :start_link, [[:rabbitmqcli67, :shortnames], false]}, :permanent, 1000, :supervisor, [:erl_distribution]}}
- 四、配置远程访问(可选,但推荐)
- 1、创建用户
- 1、用户授权
- 五、其它
- 1、RabbitMQ管理插件的一些命令
一、下载并安装Erlang
1、下载Erlang
官网下载地址:https://www.erlang.org/downloads
这里如果嫌官网下载麻烦,我这里提供了一个20.2的版本:
链接:https://pan.baidu.com/s/1nNYLXid259e-iuCIU3B9UA
提取码:fw9t
2、安装Erlang
双击otp_win64_20.2.exe,点击next
选择安装目录
3、配置环境变量
新建系统变量名为:ERLANG_HOME 变量值为erlang安装地址
双击系统变量path,点击“新建”,将%ERLANG_HOME%\bin加入到path中。
4、验证erlang是否安装成功
win+R键,输入cmd,再输入erl,看到erlang版本号就说明erlang安装成功了。
二、下载并安装RabbitMQ
1、下载RabbitMQ
官网下载地址:https://www.rabbitmq.com/news.html,下载的RabbitMQ版本要和对应的Erlang版本对应
这里提供了一个对应的3.7.4的版本:
链接:https://pan.baidu.com/s/1nzj6_KCJM6UDMtEzvmic_A
提取码:um7c
rabbitmq和erlang版本对应关系如下:https://www.rabbitmq.com/which-erlang.html
2、安装RabbitMQ
双击下载后的.exe文件,安装过程与erlang的安装过程相同。
安装RabbitMQ-Plugins
打开命令行cd,输入RabbitMQ的sbin目录。
我的目录是:
E:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.4\sbin
然后输入以下命令进行安装
rabbitmq-plugins enable rabbitmq_management
3、配置环境变量
新建一个系统变量,变量名为RABBITMQ_SERVER,变量值为RabbitMQ的安装目录(例如,C:\Program Files\RabbitMQ Server\rabbitmq_server-XX.X.X,其中XX.X.X是RabbitMQ的版本号)。
编辑系统变量Path,添加%RABBITMQ_SERVER%\sbin作为新的路径。
4、验证RabbitMQ是否安装成功
输入以下命令
rabbitmqctl status
如果出现以下的图,说明安装是成功的,并且说明现在RabbitMQ Server已经启动了,运行正常
打开浏览器,地址栏输入mq访问地址,即可看到管理界面的登陆页
默认用户名和密码都是 guest
最上侧的导航依次是:概览、连接、信道、交换器、队列、用户管理
5、启动RabbitMQ服务(安装后服务默认自启动)
打开RabbitMQ的安装目录,找到sbin文件夹。
双击rabbitmq-server.bat文件启动RabbitMQ服务。你也可以通过命令提示符使用rabbitmq-server start命令来启动服务。
三、安装过程中遇到的问题
1、出现 Authentication failed (rejected by the remote node), please check the Erlang cookie
解决办法:
比较下面两个文件夹下的.erlang.cookie文件内容,如果不一样,将第2个内容修改为第1个的内容。再次执行命令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版本不一致
5、Distribution failed: {{:shutdown, {:failed_to_start_child, :net_kernel, {:EXIT, :nodistribution}}}, {:child, :undefined, :net_sup_dynamic, {:erl_distribution, :start_link, [[:rabbitmqcli67, :shortnames], false]}, :permanent, 1000, :supervisor, [:erl_distribution]}}
检查rabbitmq 服务的日志db、log 等文件夹的路径是否含有中文,检查本机的用户名是否为中文(存在中文会出现下面的报错)
四、配置远程访问(可选,但推荐)
1、创建用户
由于guest这个用户,只能在本地访问,所以我们要新增一个用户admin,选择超级管理员权限
1、用户授权
此时这个账户是没有权限的,需要授权
五、其它
1、RabbitMQ管理插件的一些命令
rabbitmqctl 的常用命令
# 查看服务器的状态
rabbitmqctl status
# 查看环境变量
rabbitmqctl environment
# 停止rabbitmq的应用
rabbitmqctl stop_app
# 启动rabbitmq的应用
rabbitmqctl start_app
# 添加用户
rabbitmqctl add_user <username> <password>
rabbitmqctl add_user uplooking 123456
# 列出所有的用户
rabbitmqctl list_users
# 将用户设置为管理员用户
rabbitmqctl set_user_tags uplooking administrator
# 查看虚拟主机
rabbitmqctl list_vhosts
# 添加虚拟主机
rabbitmqctl add_vhost /uplooking
rabbitmqctl add_vhost /uplooking/ops
rabbitmqctl add_vhost /uplooking/java
# 删除虚拟主机
rabbitmqctl delete_vhost /uplooking/java
# 查看默认虚拟主机的权限
rabbitmqctl list_permissions
# 设置用户的权限,.* 表示分别对 组件的配置文件、读权限、写权限
rabbitmqctl set_permissions -p /uplooking uplooking ".*" ".*" ".*"
# 查看虚拟主机的权限
rabbitmqctl list_permissions -p /uplooking
# 组件查看
rabbitmqctl list_queues -p /uplooking