安装 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 …...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...