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. **批量大小优化** - **调整批量大小**:尝试调整批量写入的数据量,找到一个平衡点。过大或过小的批量大小都可能影响性能。通常,批…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
