Windows10环境下安装RabbitMq折腾记
最近有个老项目需要迁移到windows10环境,用的是比较老的rabbitmq安装包,如下所示。经过一番折腾,死活服务起不来,最终果断放弃老版本启用新版本。现在把折腾过程记录下:

一、安装erlang

安装完成后的目录结构,我的路径是D:\Apps\EnvSoft\ErlangOPT21。:

设置环境变量:ERLANG_HOME。

并添加到path路径:
![]()
验证是否安装成功:erl

二、安装RabbitMq
1.创建配置目录并设置环境变量RABBITMQ_BASE
为了避免中文路径问题,先创建一个全英文的用于配置的路径:D:\Apps\RabbitMq\AData。
然后设置环境变量RABBITMQ_BASE。


2.安装Rabbitmq
安装路径规划为:D:\Apps\RabbitMq\RMQS383。

安装完成,可以在开始菜单查看到如下菜单:

安装路径目录结构:



此时,已经可以在服务中发现RabbitMQ服务了。

3.设置环境变量RABBITMQ_HOME
设置环境变量RABBITMQ_HOME,变量值为D:\Apps\RabbitMq\RMQS383\rabbitmq_server-3.8.3。

并添加到path路径:

4.使能管理插件服务并启动RabbitMQ Service服务。
以管理员身份运行命令提示符,并进入到Rabbit安装目录下的sbin路径。


开启rabbitmq_management插件 ,命令
rabbitmq-plugins enable rabbitmq_management

启动服务:rabbitmq-service.bat start

然而,发现登陆 http://127.0.0.1:15672/管理界面失败。

右键RabbitMQ服务属性,发现服务状态是已停止。

三、尝试解决方案
1.查看erlang版本号
检查 Erlang 安装目录中的 RELEASE 下的OTP_VERSION,发现是21.3。RabbitMQ 3.8.3支持的Erlang版本范围主要是21.3至22.x。这意味着RabbitMQ 3.8.3可以与Erlang 21.3版本及以上、22.x版本(包括22.0到22.9的任何次版本)兼容。

2.查看两个路径下的文件
一个是RABBITMQ_BASE:D:\Apps\RabbitMq\AData,一个是用户目录APPDATA下的。

尝试复制用户目录下的文件到RABBITMQ_BASE下。然后删除用户目录下的文件夹RabbitMQ。但做这个动作之前,先remove掉服务。命令是:
rabbitmq-service.bat remove

最后,只在RABBITMQ_BASE目录下有配置文件:

然后,安装服务,命令如下:
rabbitmq-service.bat install

再启动服务。

然而,还是没有用,服务仍然是启动后又停止了。
3.尝试添加环境变量RABBITMQ_ADVANCED_CONFIG_FILE。
尝试添加一个环境变量,刚刚只是手动复制了advanced.config,但是没有设置环境变量。

同样的重复卸载、安装、启动,然而还是不起作用。
4.查看Windows日志
最后想到查看Windows日志。

果然,看到尝试过程中的错误信息:
错误应用程序名称: erl.exe,版本: 0.0.0.0,时间戳: 0x5c86ce75
错误模块名称: crypto.dll,版本: 0.0.0.0,时间戳: 0x5c86d146
异常代码: 0xc0000005
错误偏移量: 0x0000000000017623
错误进程 ID: 0x16a4
错误应用程序启动时间: 0x01db60ccd11c2d9b
错误应用程序路径: D:\Apps\EnvSoft\ErlangOPT21\erts-10.3\bin\erl.exe
错误模块路径: d:\Apps\EnvSoft\ErlangOPT21\lib\crypto-4.4.1\priv\lib\crypto.dll
报告 ID: 1e633629-a3ca-4293-80be-6149f95878fd
错误程序包全名:
错误程序包相对应用程序 ID:

5.尝试换一个版本的erlang。
结束erl的进程epmd.exe。

重新安装erlang,使用22版本。

修改环境变量。

然而,还是报错。那是不是要换一个rabbitmq。
6.尝试新版本的rabbitmq。
最后尝试从官网下载3.13版本的rabbitmq,然后彻底卸载之前的安装。下面地址是官网的rabbitmq与erlang的兼容矩阵。
https://www.rabbitmq.com/docs/which-erlang#compatibility-matrix

卸载干净Rabbitmq:删掉用户目录和systemprofile下的.erlang.cookie文件。

删除注册表中的Ericsson文件夹。

四、最终解决方案
从官网下载如下版本的erlang和rabbitmq安装包。
附:rabbitmq官网:
https://www.rabbitmq.com/docs/which-erlang
erlang官网:
Otp 26.2.5.6 - Erlang/OTP

erlang安装步骤不变,rabbitmq安装步骤简单,最后可以勾选启动服务,同样安装完后开启管理界面,命令:
rabbitmq-plugins enable rabbitmq_management

重启RabbitMQ服务

访问RabbitMQ管理界面
http://localhost:15672/

总结
Rabbitmq3.8.3官方已经明确不支持了,所以果断放弃,使用新版本吧!
RabbitMQ 3.8 was released in October 2019, and reached end of life on July 31st, 2022, we strongly discourage its use.
相关文章:
Windows10环境下安装RabbitMq折腾记
最近有个老项目需要迁移到windows10环境,用的是比较老的rabbitmq安装包,如下所示。经过一番折腾,死活服务起不来,最终果断放弃老版本启用新版本。现在把折腾过程记录下: 一、安装erlang 安装完成后的目录结构ÿ…...
对快速由表及里说拜拜/如何正确运用由表及里
你是不是还:看到一男子拖走一女子就以为小情侣吵架而已(可能人贩子);看到男友对你好个几次就从此死心塌地(可能有手就行,细节装装而已)结果耽误终身;看到女同事对你微笑不排斥就以为…...
spring mvc源码学习笔记之八
本文说点儿简单的。 如果你想研究基于 XML 配置的 spring mvc 的话,可以简单扫一眼本文。 在基于 XML 配置的 spring mvc 开发中,我们主要就是通过 spring 提供的各种标签来配置。 但是,大家是不是都有个疑问,spring 到底给我们提…...
探秘5网口IIOT网关
在当今这个科技飞速发展的时代,工业领域正经历着一场深刻的变革,而工业物联网网关在其中扮演着至关重要的角色。 什么是IIOT网关 工业物联网网关,简单来说,就是连接工业现场设备与云端或者上层管理系统的关键桥梁。 而明达技术研…...
左神算法基础巩固--5
文章目录 前缀树生成前缀树查询前缀树查询字符串加入过几次查询所有加入的字符串中,有几个是以pre这个字符串作为前缀 删除前缀树中的某个字符串 贪心算法解题 前缀树 生成前缀树 要想生成一棵前缀树,需要先创建一个根节点,这个根节点有26条…...
Python的Matplotlib库应用(超详细教程)
目录 一、环境搭建 1.1 配置matplotlib库 1.2 配置seaborn库 1.3 配置Skimage库 二、二维图像 2.1 曲线(直线)可视化 2.2 曲线(虚线)可视化 2.3 直方图 2.4 阶梯图 三、三维图像 3.1 3D曲面图 3.2 3D散点图 3.3 3D散…...
负载均衡服务器要怎么配置?
目录 一、概述: 二、硬件配置: 三、操作系统配置: 四、负载均衡软件: 五、网络配置: 六、软件安装步骤: 6.1 安装 Nginx 6.2 安装 LVS 6.3 安装 HAProxy 6.4 安装 Keepalived 一、概述࿱…...
CANopen转EtherCAT网关连接伺服驱动
在现代工业自动化领域,CANopen和EtherCAT是两种常见的通信协议,各自在不同的应用场景中发挥着重要作用。然而,随着工业自动化系统的日益复杂化,不同设备间的通信需求也变得多样化。因此,如何实现不同协议设备之间的无缝…...
自动化测试脚本实践:基于 Bash 的模块化测试框架
前言 在现代软件开发中,测试自动化是确保软件质量和稳定性的核心手段之一。随着开发周期的缩短和功能模块的增多,手动测试逐渐无法满足高效性和准确性的需求。因此,测试人员需要依赖自动化工具来提升测试效率,减少人为干预和错误。…...
WebSocket 测试入门篇
Websocket 是一种用于 H5 浏览器的实时通讯协议,可以做到数据的实时推送,可适用于广泛的工作环境,例如客服系统、物联网数据传输系统, 基础介绍 我们平常接触最多的是 http 协议的接口,http 协议是请求与响应的模式&…...
Apache Traffic存在SQL注入漏洞(CVE-2024-45387)
免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...
Centos7使用yum工具出现 Could not resolve host: mirrorlist.centos.org
在 CentOS 7 中使用 yum 工具时,出现 "Could not resolve host: mirrorlist.centos.org" 的错误,一般情况是因为默认的镜像源无法访问。 以下是一些常用的解决方法: 检查网络连接:首先使用 ping 命令测试网络连接是否…...
zookeeper shell操作和zookeeper 典型应用(配置中心、集群选举服务、分布式锁)
文章目录 引言I zookeeper客户端命令查看子节点 ls创建子节点 create获取节点信息 get更新节点数据 set删除节点 delete\ rmrII 监听机制node1:设置监听node3:修改监听节点node1:得到监听反馈III zookeeper 典型应用分布式锁集群选举服务数据发布/订阅(配置中心)引言 zk 的…...
Vue中Watch使用监听修改变动
使用注意 监听一个值时 多个值时...
Lua语言的文件IO
1、我们都知道,在任何语言当中都有输入输出,比如c语言当中就有很多printf,scanf,get ,put,gets,puts,文件io:open,read,write,close,标准io:fopen,fread,fwrite,fclose.在lua语言当中,也有相同的一些输入输出特性,叫io.open,io.re…...
C语言基本知识复习浓缩版:输出函数printf
输出函数printf学习 printf()的作用是将文本输出到屏幕上使用之前需要先引入stdio.h头文件printf函数在使用的时候,至少需要一个参数 printf() 是 C 语言标准库中的一个函数,用于将格式化的文本输出到标准输出设备(通常是屏幕)。…...
Ubuntu中使用miniconda安装R和R包devtools
安装devtools环境包 sudo apt-get install gfortran -y sudo apt-get install build-essential -y sudo apt-get install libxt-dev -y sudo apt-get install libcurl4-openssl-dev -y sudo apt-get install libxml2.6-dev -y sudo apt-get install libssl-dev -y sudo apt-g…...
Jmeter-压测时接口如何按照顺序执行
Jmeter-压测时接口如何按照顺序执行-临界部分控制器 在进行压力测试时,需要按照顺序进行压测,比如按照接口1、接口2、接口3、接口4 进行执行 查询结果是很混乱的,如果请求次数少,可能会按照顺序执行,但是随着次数增加…...
Ungoogled Chromium127 编译指南 MacOS篇(七)- 安装依赖包
1. 引言 在获取了 Ungoogled Chromium 的源代码之后,我们需要安装所有必要的依赖包。这些依赖包对于成功编译 Chromium 至关重要。本文将指导您完成所有必需软件包的安装。 2. 依赖包安装 2.1 使用 Homebrew 安装基础依赖 # 安装 Ninja 构建系统 brew install n…...
批量写入数据到数据库,卡顿怎么解决
在批量写入数据到数据库时,遇到卡顿或性能瓶颈是比较常见的问题。以下是一些可能的解决方案和优化策略,帮助你提高批量写入的性能: ### 1. **批量大小优化** - **调整批量大小**:尝试调整批量写入的数据量,找到一个平衡点。过大或过小的批量大小都可能影响性能。通常,批…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
