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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/66511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

了解RabbitMQ中的Exchange:深入解析与实践应用

在分布式系统设计中,消息队列(Message Queue)扮演着至关重要的角色,而RabbitMQ作为开源消息代理软件的佼佼者,以其高性能、高可用性和丰富的功能特性,成为了众多开发者的首选。在RabbitMQ的核心组件中&…

分布式主键ID生成方式-snowflake雪花算法

这里写自定义目录标题 一、业务场景二、技术选型1、UUID方案2、Leaf方案-美团(基于数据库自增id)3、Snowflake雪花算法方案 总结 一、业务场景 大量的业务数据需要保存到数据库中,原来的单库单表的方式扛不住大数据量、高并发,需…

Linux 系统搭建网络传输环境汇总

Ubuntu 系统搭建 TFTP 服务器 1. 创建 /home/username/workspace/tftp 目录并赋予最大权限,username 是自己用户名 sudo mkdir -p /home/username/workspace/tftp sudo chmod 777 /home/username/workspace/tftp 2. 安装 tftp-hpa( 客户端软件包&#x…

“AI智慧语言训练系统:让语言学习变得更简单有趣

大家好,我是你们的老朋友,一个热衷于探讨科技与教育结合的产品经理。今天,我想和大家聊聊一个让语言学习变得不再头疼的话题——AI智慧语言训练系统。这个系统可是我们语言学习者的福音,让我们一起来揭开它的神秘面纱吧&#xff0…

线性代数考研笔记

行列式 背景 分子行列式:求哪个未知数,就把b1,b2放在对应的位置 分母行列式:系数对应写即可 全排列与逆序数 1 3 2:逆序数为1 奇排列 1 2 3:逆序数为0 偶排列 将 1 3 2 只需将3 2交换1次就可以还原原…

精选2款.NET开源的博客系统

前言 博客系统是一个便于用户创建、管理和分享博客内容的在线平台,今天大姚给大家分享2款.NET开源的博客系统。 StarBlog StarBlog是一个支持Markdown导入的开源博客系统,后端基于最新的.Net6和Asp.Net Core框架,遵循RESTFul接口规范&…

关于FPGA中添加FIR IP核(采用了GOWIN EDA)

文章目录 前言一、IP核二、MATLAB文件三、导出系数COE文件1.设计滤波器2.用官方的matlab代码或者直接用文本文件 四、进行模块化设计源文件 前言 FIR滤波器的特点是其输出信号是输入信号的加权和,权值由滤波器的系数决定。每个系数代表了滤波器在特定延迟位置上的“…

51单片机——中断(重点)

学习51单片机的重点及难点主要有中断、定时器、串口等内容,这部分内容一定要认真掌握,这部分没有学好就不能说学会了51单片机 1、中断系统 1.1 概念 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在&#…

VVenC 编码器源码结构与接口函数介绍

VVenC VVenC(Fraunhofer Versatile Video Encoder)是由德国弗劳恩霍夫海因里希研究所(Fraunhofer Heinrich Hertz Institute, HHI)开发的一个开源的高效视频编码器。它实现了最新的视频编码标准——Versatile Video Coding (VVC)…

耗时一天,我用AI开发了AI小程序

小码哥从事前后端开发近十年,但是随着技术的更新迭代,有时候没有时间和精力去优化UI、实现一些前后端功能,以及解决一些bug。特别是我想开发小码哥AI的移动端,但觉得自己没有那么多时间去研究移动端了,准备放弃了&…

C#中的关键字out和ref的区别

目录 一、out 二、ref 三、拓展 一、out 在 C# 中,out 是一个关键字,通常用于方法参数,表示该参数是输出参数。使用 out 关键字的参数要求在方法内部必须被赋值,而这个参数的值会在方法返回时传递给调用者。可以理解为&#xf…

SpringBootWeb案例-1(day10)

准备工作 需求 & 环境搭建 需求说明 环境搭建 步骤: 准备数据库表(dept、emp)创建 springboot 工程,引入对应的起步依赖(web、mybatis、mysql 驱动、lombok)配置文件 application.properties 中引入 mybatis 的配置信息&…

VUE条件树查询 自定义条件节点

之前实现过的简单的条件树功能如下图&#xff1a; 经过最新客户需求确认&#xff0c;上述条件树还需要再次改造&#xff0c;以满足正常需要&#xff01; 最新暴改后的功能如下红框所示&#xff1a; 页面功能 主页面逻辑代码&#xff1a; <template><div class"…

保险丝驱动电路·保险丝有什么用应该如何选型详解文章!!!

目录 保险丝基础知识 保险丝常见类型 保险丝功能讲解 保险丝驱动电路 ​​​​​​​ ​​​​​​​ 编写不易&#xff0c;仅供学习&#xff0c;请勿搬运&#xff0c;感谢理解 常见元器件驱动电路文章专栏连接 LM7805系列降压芯片驱动电路降压芯片驱动电…

李宏毅机器学习课程笔记02 | 机器学习任务攻略General Guide

第一步&#xff1a;分析loss on training data 先检查在训练数据上模型是否很好的学习 情况1&#xff1a;如果在训练集上&#xff0c;loss很大&#xff0c;说明在训练资料上没有训练好 可能性1&#xff1a;设置的模型太简单了&#xff0c;模型存在model bias模型偏差&#x…

Gitlab-runner 修改默认的builds_dir并使用custom_build_dir配置

gitlab-runner 修改默认的builds_dir并使用custom_build_dir配置 1. 说明2. 实操&#xff08;以docker执行器为例&#xff09;2.1 修改默认的builds_dir2.1.1 调整gitlab-runner的配置文件2.1.2 CI文件 2.2 启用custom_build_dir2.2.1 调整gitlab-runner的配置文件2.2.2 CI文件…

概率基本概念 --- 离散型随机变量实例

条件概率&独立事件 随机变量 - 离散型随机变量 - 非离散型随机变量 连续型随机变量奇异性型随机变量 概率表示 概率分布函数概率密度函数概率质量函数全概率公式贝叶斯公式 概率计算 数学期望方差协方差 计算实例 假设有两个离散型随机变量X和Y&#xff0c;它们代…

QT RC_FILE 应用程序图标设置

1.先做一个app.ico 文件&#xff0c;并将文件放入资源文件夹中 2.打开QT项目的.pro文件在最下面增加 RC_FILE $$PWD/res/app.rc 3.在资源文件夹中创建一个app.rc文件。在QT开发工具中编辑并输入下在内容 IDI_ICON1 ICON "app.ico" 4.测试效果

SQLark:高效数据库连接管理的新篇章

在我们日常工作中&#xff0c;不同的项目使用的数据库不同&#xff0c;比如我这边涉及的数据库就有达梦、Oracle、Mysql&#xff0c;每种数据库都有自己的数据库连接工具&#xff0c;我们不得不在电脑上针对每个数据库都装一个客户端&#xff0c;使用时还得在不同数据库连接工具…

Minio-Linux-安装

文章目录 1.Linux安装1.下载源码包2.上传到/usr/local/minio1.进入目录2.上传 3.开放执行权限4.创建minio文件存储目录及日志目录5.编写启动的shell脚本1.脚本编写2.赋予执行权限 6.启动&#xff01;1.执行run脚本2.查看日志3.开放9001和9000端口1.服务器2.安全组3.访问&#x…