windows环境下安装RabbitMQ(超详细),

news2025/1/11 8:01:18

windows环境下安装RabbitMQ(超详细)


注:安装路径,用户名均为英文


一、RabbitMq简介

  • 1.1消息队列中间件简介
    消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性[架构] 使用较多的消息队列有 ActiveMQ(安全),RabbitMQ,ZeroMQ,Kafka(大数据),MetaMQ,RocketMQ
    以下介绍消息队列在实际应用中常用的使用场景:异步处理,应用解耦,流量削锋和消息通讯四个场景

  • 1.2什么是RabbitMQ
    RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。
    AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。
    RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。具体特点包括:

  • 1.可靠性(Reliability)
    RabbitMQ 使用一些机制来保证可靠性,如持久化、传输确认、发布确认。2.灵活的路由(Flexible Routing)
    在消息进入队列之前,通过 Exchange 来路由消息的。对于典型的路由功能,RabbitMQ已经提供了一些内置的 Exchange 来实现。针对更复杂的路由功能,可以将多个Exchange 绑定在一起,也通过插件机制实现自己的 Exchange 。

  • 2.消息集群(Clustering)
    多个 RabbitMQ 服务器可以组成一个集群,形成一个逻辑 Broker

  • 3.高可用(Highly Available Queues)
    队列可以在集群中的机器上进行镜像,使得在部分节点出问题的情况下队列仍然可用。

  • 4.多种协议(Multi-protocol)
    RabbitMQ 支持多种消息队列协议,比如 STOMP、MQTT 等等。

  • 5.多语言客户端(Many Clients)
    ​ RabbitMQ 几乎支持所有常用语言,比如 Java、.NET、Ruby 等等。

  • 6.管理界面(Management UI)
    ​ RabbitMQ 提供了一个易用的用户界面,使得用户可以监控和管理消息 Broker 的许多方面。

  • 7.跟踪机制(Tracing)
    ​ 如果消息异常,RabbitMQ 提供了消息跟踪机制,使用者可以找出发生了什么。

  • 8.插件机制(Plugin System)
    ​ RabbitMQ 提供了许多插件,来从多方面进行扩展,也可以编写自己的插件。

二、安装准备工具

  • 1.下载Eralng,下面链接已提供otp_win64_20.2.exe
    链接: https://pan.baidu.com/s/1lmvCMPVAV1Ba9UogCdQpZg
    提取码:x9m7
  • 2.下载rabbitmq,下面链接已提供rabbitmq-server-3.7.4.exe
    链接: https://pan.baidu.com/s/1CPfhg5X1e7UitpgMWIcAEg
    提取码:h4r3

三、安装步骤(图文)

  • 1、安装erlang并配置环境变量

  •  双击otp_win64_20.2.exe,点击next
    
  • 1.2 选择安装目录

  • 1.3 配置环境变量

新建系统变量名为:ERLANG_HOME 变量值为erlang安装地址
ERLANG_HOME   路径:E:\Program Files\erl9.2
双击系统变量path,点击“新建”,将%ERLANG_HOME%\bin加入到path中。
%ERLANG_HOME%\bin
  • 1.4 验证erlang是否安装成功

win+R键,输入cmd,再输入erl,看到erlang版本号就说明erlang安装成功了。

  • 2、安装RabbitMQ

双击下载后的.exe文件,安装过程与erlang的安装过程相同。

  • 2.2 安装RabbitMQ-Plugins
    打开命令行cd,输入RabbitMQ的sbin目录。
    我的目录是:
 E:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.4\sbin

然后输入以下命令进行安装

./rabbitmq-plugins enable rabbitmq_management
  • 2.3 验证rabbitmq是否安装成功
    输入 以下命令
./rabbitmqctl status

如果出现以下的图,说明安装是成功的,并且说明现在RabbitMQ Server已经启动了,运行正常
在这里插入图片描述

2.4 打开浏览器,地址栏输入mq访问地址,即可看到管理界面的登陆页

http://127.0.0.1:15672 

2.5 输入用户名和密码,都为 guest 进入主界面:
最上侧的导航依次是:概览、连接、信道、交换器、队列、用户管理

四、安装过程中遇到的问题

  1. 出现 Authentication failed (rejected by the remote node), please check the Erlang cookie
    如果改完cookie没生效,重启一下电脑,清除cookie缓存,获取最新修改的cookie,即可解决该问题

解决办法:

比较下面两个文件夹下的.erlang.cookie文件内容,后来修改其中一个文件的内容,使两个文件内容一样。再次执行命令rabbitmqctl status,成功

C:\Windows\System32\config\systemprofile\.erlang.cookie
C:\User\{{电脑用户名}}\.erlang.cookie
  1. 报错:Status of node rabbit@ … ** (ArgumentError) argument error (stdlib)
    检查rabbitmq 服务的日志db、log 等文件夹的路径是否含有中文,检查本机的用户名是否为中文(存在中文会出现下面的报错)
    这个本机用户名要是英文

命令记录一下


# 开启RabbitMQ节点
./rabbitmqctl start_app
# 开启RabbitMQ管理模块的插件,并配置到RabbitMQ节点上
./rabbitmq-plugins enable rabbitmq_management
# 关闭RabbitMQ节点
./rabbitmqctl stop

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

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

相关文章

Discourse 如何配置 MAXMIND 来对 IP 地址反向查询

【配置 MAXMIND,Discourse 需要重新构建,这将会导致服务中断。 】 什么是 MAXMIND 和为什么我们需要使用这个服务 Discourse 使用 MAXMIND 来通过 IP 地址反向查询具体的物理地址。 如果 Discourse 没有配置 Maxmind’s 数据库,我们看到的配…

leetcode 数据库题 196,197,262,511,550,570

leetcode 数据库题第二弹 196. 删除重复的电子邮箱197. 上升的温度262. 行程和用户511. 游戏玩法分析 I550. 游戏玩法分析 IV570. 至少有5名直接下属的经理577. 员工奖金小结 196. 删除重复的电子邮箱 题目地址:https://leetcode.cn/problems/delete-duplicate-emai…

二、服务网关-Gateway

文章目录 一、服务网关1、网关介绍2、Spring Cloud Gateway介绍3、搭建server-gateway模块3.1 搭建server-gateway3.2 修改配置pom.xml3.3 在resources下添加配置文件3.4添加启动类3.5 跨域处理3.5.1 为什么有跨域问题?3.5.2解决跨域问题 3.6服务调整3.7测试 一、服…

chatgpt赋能Python-python_pulp包怎么安装

Python Pulp包的安装方法 如果你正在进行线性规划或整数规划问题的研究或解决,那么Python Pulp包是一个非常实用的工具,它可以快速、高效地解决这些问题。但是,在使用Python Pulp包的过程中,你可能会遇到一些安装问题。本文将介绍…

Http协议网络读卡器Aspx网页Request获取刷卡数据Response回应驱动显示

三种提交方式可自由设置 RFID网络WIFI无线TCP/UDP/HTTP可编程二次开发读卡器POE供电语音-淘宝网 (taobao.com) HttpReader.aspx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebCont…

C/C++ 数据结构设计与应用(四):C++数据压缩与传输:从理论到实践的全景解析

C数据压缩与传输:从理论到实践的全景解析 一、数据压缩的策略与方法 (Strategies and Methods of Data Compression)1.1 数据压缩的基本概念与原理 (Basic Concepts and Principles of Data Compression)1.2 C中的数据压缩技术 (Data Compression Techniques in C)1…

总结vue3 的一些知识点

vue3 支持 jsx 安装依赖 pnpm add vitejs/plugin-vue-jsxvite.config.ts 中引用插件 import { defineConfig } from "vite" import vue from "vitejs/plugin-vue" import vueJsx from "vitejs/plugin-vue-jsx" // https://vitejs.dev/config/ex…

Golang每日一练(leetDay0075) 打家劫舍II、最短回文串

目录 213. 打家劫舍 II House Robber ii 🌟🌟 214. 最短回文串 Shortest Palindrome 🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C…

android App外包开发技术难点

在开发android App时需要注意一些技术问题,包括设备兼容、性能优化、安全问题及用户体验,这些问题往往是android App的通用问题,每个android App的项目都有这些问题,今天和大家分享一下这方面的知识,希望对大家有所帮助…

研发工程师玩转Kubernetes——使用环境变量给容器中程序传递参数

在《研发工程师玩转Kubernetes——构建、推送自定义镜像》中,Pod的IP是通过代码获取的 def get_ip():try:s socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.connect((8.8.8.8, 80))ip s.getsockname()[0]finally:s.close()return ip实际我们可以在清单文件中…

python 正则表达式使用总结

re库使用 re.findall import re## 存在匹配的 txt "ai aiThe rain in Spain" x re.findall("ai", txt) print(x) # 没有匹配的 txt "adafda dafasdf" x re.findall("ai", txt) print(x)s中国人adfadsfasfasdfsdaf中国万岁\n pri…

chatgpt赋能Python-python_pythonw

Python和Pythonw——SEO助您成功 Python和Pythonw是两个最广泛使用的编程语言之一。不仅是它们提供了丰富的编程功能和轻松上手的学习曲线,它们还具有出色的SEO优化功能,因为它们是自由和开源的。 Python是什么? Python是一种高级编程语言…

SpringCloud微服务踩坑系列:参数不全造成的空指针

服务一直报500错误,看了一下后台出现了空指针异常 异常如下: java.lang.NullPointerException: null at com.cyf.serviceOrder.service.OrderInfoService.add(OrderInfoService.java:93) ~[classes/:na] at com.cyf.serviceOrder.controller.Or…

chatgpt赋能Python-python_qq群

Python QQ群:学习Python的最佳社区 Python是一个非常流行的编程语言,因其简单易学、可读性高等特点,备受开发人员的青睐。为了交流学习Python,越来越多的人开始组建Python QQ群。本文将介绍Python QQ群的意义、特点和如何找到合适…

深入理解Java虚拟机:JVM高级特性与最佳实践-总结-10

深入理解Java虚拟机:JVM高级特性与最佳实践-总结-10 虚拟机类加载机制类加载的过程初始化 类加载器类与类加载器双亲委派模型 虚拟机类加载机制 类加载的过程 初始化 类的初始化阶段是类加载过程的最后一个步骤,前几个类的加载动作里,除了…

Unity 新建你的第一个游戏,以及如何按WASD控制角色运动 (Unity Demo2D)

文章目录 初始化项目新建角色物体游戏资源管理试着导入资源试着管理资源试着使用资源 脚本是啥新建脚本编辑脚本行为逻辑按键检测获取按键移动位置★ 最终代码 (有基础请直接跳到这) 初始化项目 当你打开 Unity Hub,初始化一个 2D 项目,进入了 Unity 编…

人工智能TensorFlow MNIST手写数字识别——训练篇

上期我们分享了CNN的基本结构,本期我们就拿MNIST数据集来训练一下手写数字的数据库,以便我们下期能够使用训练好的模型,来进行手写数字的识别。 分享一下几个可视化网站,可以看到神经网络的识别过程。 http://scs.ryerson.ca/~aharley/vis/conv/ 1、插入MNIST数据集 #利…

Java安全和防护:如何保护Java应用程序和用户数据的安全

第一章:引言 在当今数字化时代,Java已经成为主流的编程语言之一。无论是企业级应用程序还是个人项目,Java应用程序都承载着大量的敏感数据和业务逻辑。然而,随着网络攻击日益猖獗,保护Java应用程序和用户数据的安全变…

Java-API简析_java.lang.Package类(基于JDK1.8)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/130806567 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…

什么是 Spring?为什么学它?

前言 欢迎来到本篇文章!在这里,我将带领大家快速学习 Spring 的基本概念,并解答两个关键问题:什么是 Spring,以及为什么学习 Spring。 废话少说,下面,我们开始吧! Spring 官方文档…