安装 RabbitMQ 服务
安装 RabbitMQ 服务
一. RabbitMQ 需要依赖 Erlang/OTP 环境
(1) 先去 RabbitMQ 官网,查看 RabbitMQ 需要的 Erlang 支持:https://www.rabbitmq.com/
进入官网,在 Docs -> Install and Upgrade -> Erlang Version Requirements

(2) 下图中可以看到 RabbitMQ 各个版本需要的 Erlang 版本

可以看到 RabbitMQ 最新版本 4.0.4 需要
Eralang/OTP:最低版本 26.2, 最高版本 27.x
(3) 点击 上图红框 RabbitMQ version 可以连接到 RabbitMQ 下载页面
https://www.rabbitmq.com/release-information

(4) 选择需要下载的版本 点击 Release Notes
以最新版本 4.0.4 为例

往下翻,找到 Assets 部分

我是在 Windows 电脑上安装,所以选择下载 rabbitmq-server-4.0.4.exe

因为 RabbitMQ 服务需要 Erlang/OTP 环境,所以先不要安装
二:Erlang 安装
官网 https://www.erlang.org/
到 DOWNLOAD

上面下载了 RabbitMQ 4.0.4 可以使用 Erlang/OPT 27.x 版本
这里也下载最新的版本: 27.1.2
我电脑是 64 位的,下载:Dowanld 64-bit installer

先安装 Erlang,安装完成目录如下

安装完成后配置环境变量
先添加一个 ERLANG_HOME 目录指向 Erlang_OTP 安装目录即可

然后打开 Path 添加 %ERLANG_HOME%\bin
测试 Erlang 是否正确,cmd 打开命令行,输入 elr,能输出正确的版本信息就可以了

疑问:我安装的 Erlang_OTP 27.1.2 下面的版本信息显示 erts-15.1.2 ,这对吗?
解释:
-
Erlang/OTP 版本:指的是整个 Erlang 系统的版本,包括 Erlang 语言本身、OTP (Open Telecom Platform) 的标准库、工具和一些运行时支持。
-
ERTS 版本:Erlang Runtime System (ERTS) 是 Erlang 运行时的核心部分,它负责执行 Erlang 程序、垃圾回收、进程调度等。每个 Erlang/OTP 版本都包含一个特定版本的 ERTS。
我安装的是 Erlang OTP 27.1.2,但输出显示的 ERTS 版本是 15.1.2。这是因为:
Erlang/OTP 版本号和 ERTS 版本号不完全是一样的,它们可能有所不同,但它们应该是相互兼容的。Erlang/OTP 27.x 通常配套使用 ERTS 15.x 版本。
在 Erlang 中,erts-15.x.x 是 Erlang/OTP 27 的一部分,这并不意味着出现了问题,而是版本控制的方式。
三. 安装 RabbitMQ
(1) 我第一次安装是选择自定义目录,选择了 D:盘,最后启动的时候报错 没有足够的权限,时间有限,没有得到解决
我重新安装使用了默认安装目录,自动选择了 C:\Program Files\RabbitMQ Server

(2) 安装好配置环境变量

添加 RABBITMQ_HOME 配置目录为 RabbitMQ 安装目录
然后在 Path 中添加
%RABBITMQ_HOME%\sbin
验证 Rabbit 安装环境
首先确认 RabbitMQ 服务 已经启动
打开 Ctrl + R 输入 services.msc


可以在 Windows 服务界面 选择 RabbitMQ 右键,启动/停止
也可以通过命令 启动/停止
启动:rabbitmq-server start
停止:rabbitmq-server stop
这个命令具体执行的 RabbitMQ 安装目录 sbin 目录下 的
rabbitmq-server.bat
rabbitmq-service.bat
这俩都可以启动服务,具体区别可以自行查阅资料

打开 cmd 命令行,输入:rabbitmqctl status
输出如下

或者输入 命令:rabbitmqctl -q status

四. RabbitMQ GUID 使用和验证
RabbitMQ GUID 使用:
(1) 安装了 Rabbitmq 后,默认也安装了该管理工具,执行命令即可启动
命令
rabbitmq-plugins enable rabbitmq_management

启动后,打开浏览器输入地址: http://localhost:15672/ 账号和密码默认都是: guest
登陆、登出 在界面右上角

可以查看各种信息
(2) 切换到 Queues and Streams

这个界面可以看到所有的连接队列 queue 和 每个队列当前接收到且 未处理的消息
可以看到 All queues (0) 表示还没有 队列连接
也可以通过命令行查看:rabbitmqctl list_queues

遇到的问题
CMD 打开命令行 执行:rabbitmq-service start
(1) 有如下 port xxxxx 的,就是这个端口被占用了,
ERROR: could not bind to distribution port 25672, it is in use by another node: rabbit@LAPTOP-8EMU05SF
25672 是 Rabbit 的默认端口
上面这个其实是 Rabbit 已经启动了,自己占用自己了,只是作为例子说明
解决 一:查找使用这个端口的应用,停止掉,然后重启
解决二:换一个端口
找到 RabbitMQ 的配置文件 advanced.config
打开文件 C:\Users\19039\AppData\Roaming\RabbitMQ\advanced.config
文件默认是如下,什么都没有
[].
修改如下
[{rabbit, [{tcp_listeners, [5672]}, % 默认的 AMQP 端口{ssl_listeners, [5671]}, % SSL 端口{dist_port, 25673} % 修改分布式端口(例如 25673)
]}].
dist_port 就是默认端口 25672
下一篇 RabbitMQ 客户端工程环境配置
相关文章:
安装 RabbitMQ 服务
安装 RabbitMQ 服务 一. RabbitMQ 需要依赖 Erlang/OTP 环境 (1) 先去 RabbitMQ 官网,查看 RabbitMQ 需要的 Erlang 支持:https://www.rabbitmq.com/ 进入官网,在 Docs -> Install and Upgrade -> Erlang Version Requirements (2) …...
爬虫—Scrapy 整合 ChromeDriver 实现动态网页拉取
在进行爬虫开发时,使用 Scrapy 配合 ChromeDriver 来模拟真实浏览器加载 JavaScript 渲染内容是一种常见且高效的方法。Scrapy 本身是一个非常强大的爬虫框架,然而它默认使用的是 requests 库来抓取静态网页内容。对于需要通过 JavaScript 渲染的动态网页…...
Linux 进程管理详解
Linux 进程管理详解 引言 在现代操作系统中,进程是执行程序的基本单位。Linux作为一个强大的多任务操作系统,提供了丰富且灵活的机制来管理和控制进程。本文将详细介绍Linux进程管理的基本概念、核心机制以及常用的管理工具,帮助读者深入了…...
MySQL更新JSON字段key:value形式
MySQL更新JSON字段key:value形式 1. 介绍 MySQL的JSON数据类型是MySQL 5.7及以上版本中引入的一种数据类型,用于存储JSON格式的数据。使用JSON数据类型可以自动校验文档是否满足JSON格式的要求,优化存储格式,并允许快速访问文档中的特定…...
vue.js学习(day 18)
实例:面经基础版...
WINDOWS 单链表SLIST_ENTRY使用
1.初始化链表头 //初始化链表头qq1490900437 void InitialGloubleVar() {while (1){G_Handle.SaveProcessThreadHandle (PSLIST_HEADER)_aligned_malloc(sizeof(SLIST_HEADER), MEMORY_ALLOCATION_ALIGNMENT);if (G_Handle.SaveProcessThreadHandle ! NULL){break;}}Initiali…...
【Linux 篇】Docker 容器星河与镜像灯塔:Linux 系统下解锁应用部署奇幻征程
文章目录 【Linux 篇】Docker 容器星河与镜像灯塔:Linux 系统下解锁应用部署奇幻征程前言一 、docker上部署mysql1. 拉取mysql镜像2. 创建容器3. 远程登录mysql 二 、docker上部署nginx1. 拉取nginx镜像2. 在dockerTar目录下 上传nginx.tar rz命令3. 创建nginx容器4…...
不同云计算网络安全等级
导读云计算的本质是服务,如果不能将计算资源规模化/大范围的进行共享,如果不能真正以服务的形式提供,就根本算不上云计算。 等级保护定级流程 定级是开展网络安全等级保护工作的 “基本出发点”,虚拟化技术使得传统的网络边界变…...
手机实时提取SIM卡打电话的信令声音-蓝牙电话如何适配eSIM卡的手机
手机实时提取SIM卡打电话的信令声音 --蓝牙电话如何适配eSIM卡的手机 一、前言 蓝牙电话的海外战略中,由于海外智能手机市场中政策的差异性,对内置eSIM卡的手机进行支持是非常合理的需求。Android系列手机中,无论是更换通信运营商…...
视频流媒体服务解决方案之Liveweb视频汇聚平台
一,Liveweb视频汇聚平台简介: LiveWeb是深圳市好游科技有限公司开发的一套综合视频汇聚管理平台,可提供多协议(RTSP/RTMP/GB28181/海康Ehome/大华,海康SDK等)的视频设备接入,支持GB/T28181上下级联…...
【在Linux世界中追寻伟大的One Piece】多线程(三)
目录 1 -> Linux线程同步 1.1 -> 条件变量 1.2 -> 同步概念与竞态条件 1.3 -> 条件变量函数 1.4 -> 为什么pthread_cond_wait需要互斥量 1.5 -> 条件变量使用规范 2 -> 生产者消费者模型 2.1 -> 为什么要使用生产者消费者模型 2.2 -> 生产…...
mvc命令
命令 mvc MVC(Model-View-Controller)是一种软件架构模式,用于组织和管理应用程序的代码mvc重要的三部分 (1)模型(Model):负责存储系统的中心数据,提供访问数据的函数,封装了应用程序的功能内核。 (2)视图&…...
17 go语言(golang) - 错误处理
错误处理 错误处理是编程中用于识别、响应和恢复程序运行时出现的错误和异常情况的过程。其目的是确保程序的鲁棒性(一个系统、模型或函数在面对错误输入、工作压力、意外情况或故意攻击时仍能保持稳定性和可靠性的能力),即使在出现错误的情…...
PG 库停库超时异常案例
文章目录 现象官方文档停库底层流程:恢复脚本优化思路总结 现象 停库超时 <2024-11-29 12:50:43.022 UTC 87472 192.167.60.1(54862) PostgreSQL JDBC Driver postgres stk>FATAL: terminating connection due to administrator command <2024-11-29 12:50:43.022 …...
redis下载、基础数据类型、操作讲解说明,持久化、springboot整合等
1 Redis是什么 官网:https://redis.io 开发者:Antirez Redis诞生于2009年全称是Remote Dictionary Server 远程词典服务器,是一个基于内存的键值型NoSQL数据库。 Redis是一个开源的、高性能的键值对存储系统,它支持多种数据结构&…...
[代码随想录06]哈希表的使用,有效字母异位词,两数组交集,快乐数,两数之和
前言 哈希表是什么?一句话带你理解,简单来说我们对于杂乱的数据,怎么快速找到数据,如何做呢?一般的做法就是遍历复杂度为o(N)去找寻一个数据,但是吧,我们这样思考的话,还是花了大量时…...
【CSS】一篇掌握CSS
不是因为有了希望才去坚持,而是坚持了才有了希望 目录 一.导入方式 1.行内样式 2.内部样式 3.外部样式(常用) 二.选择器 1.基本选择器(常用) 1.1标签选择器 1.2类选择器 1.3id选择器 2.层次选择器 2.1后代选择器 2.2子选择器 2.3相邻兄弟选择器 2.4通用兄弟选择器…...
分层图最短路
常见情形: 对于边有k次操作的题。。 整体思想: 分层图最短路可以视作是dijkstra的一个扩展,通常用于处理N小于10000,或者是k不大的情形。整体有点类似于拆点。将一个点拆成k个点处理。层与层之间互不影响。 好了我就说这么多&…...
vue3 基本使用
Vue 3 提供了多种方式来构建用户界面,包括选项式 API 和 Composition API。下面我将详细介绍 Vue 3 的基本使用和语法,主要集中在选项式 API 上,因为这对于初学者来说更容易上手。 1. 创建 Vue 项目 如果你还没有一个 Vue 项目,…...
【maven-4】IDEA 配置本地 Maven 及如何使用 Maven 创建 Java 工程
IntelliJ IDEA(以下简称 IDEA)是一款功能强大的集成开发环境,广泛应用于 Java 开发。下面将详细介绍如何在 IDEA 中配置本地 Maven,并创建一个 Maven Java 工程,快速上手并高效使用 Maven 进行 Java 开发。 1. Maven …...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
Linux系统部署KES
1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘…...
自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...
