RabbitMQ 多种安装模式
文章目录
- 前言
- 一、Windows 安装 RabbitMq
- 1、版本关系
- 2、Erlang
- 2.1、下载安装 Erlang 23.1
- 2.2、配置 Erlang 环境变量
- 3、RabbitMQ
- 3.1、下载安装 RabbitMQ 3.8.9
- 3.2、环境变量
- 3.3、启动RabbitMQ 管理插件
- 3.3、RabbitMQ
- 3.4、注意事项
- 二、安装docker
- 1、更新系统包:
- 2、安装必要的软件包:
- 3、添加Docker的YUM存储库:
- 4、安装Docker Engine:
- 5、启动Docker:
- 6、验证Docker安装:
- 三、docker安装Rabbitmq
- 1、拉取RabbitMQ镜像:
- 2、运行RabbitMQ容器:
- 3、访问RabbitMQ管理界面:
- 四、docker安装Rabbitmq集群
- 1、拉取RabbitMQ镜像:
- 2、创建 docker 网络(让容器可以和主机通信)
- 3、创建三个容器,端口分别是 5673 5674 5675 ,管理端口是 15673 15674 15675
- 4、后两个节点作为内存节点加入集群
- 5、加入集群失败
前言
本文介绍rabbitmq多种安装模式
一、Windows 安装 RabbitMq
1、版本关系
- RabbitMQ 依赖于 Erlang,需要先安装 Erlang
- Erlang 和 RabbitMQ 版本有对应关系
- http://www.rabbitmq.com/which-erlang.html

- http://www.rabbitmq.com/which-erlang.html
2、Erlang
2.1、下载安装 Erlang 23.1
如果下载太慢了,可以把地址贴到迅雷里面,下载到本机
安装地址
https://www.erlang.org/downloads/23.1
安装exe 文件一直 next 就可以
2.2、配置 Erlang 环境变量
ERLANG_HOME=C:\Program Files\erl23.1
Path 添加
%ERLANG_HOME%\bin;
dos 输入 erl,输入能显示版本号则安装正确
3、RabbitMQ
3.1、下载安装 RabbitMQ 3.8.9
安装连接
https://www.rabbitmq.com/docs/install-windows
3.2、环境变量
RABBITMQ_SERVER=C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9
Path
%RABBITMQ_SERVER%\sbin;
3.3、启动RabbitMQ 管理插件
dos 中输入
"C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9\sbin\rabbitmq-plugins.bat" enable rabbitmq_management
3.3、RabbitMQ
启动
net start RabbitMQ
关闭
net stop RabbitMQ
访问管理界面:http://localhost:15672/
默认用户名:guest
默认密码为:guest
默认配置文件地址:
C:\Users\sjl\AppData\Roaming\RabbitMQ\advanced.config
数据目录:
C:\Users\sjl\AppData\Roaming\RabbitMQ\db\rabbit@用户名-mnesia
3.4、注意事项
如果遇到无法启动的问题,先尝试在控制面板 —— 服务 —— 启动。
如果已经启动了,先服务里面停掉或者尝试用命令
.\rabbitmq-server.bat stop
.\rabbitmq-server.bat start
注意只能用 dos,不要用 powershell
如果要初始化 RabbitMQ,移除全部数据:
rabbitmq-service stop
rabbitmq-service remove
rabbitmq-service install
rabbitmq-service start
二、安装docker
1、更新系统包:
先更新系统中的YUM包管理工具和所有软件包,确保系统是最新的。
sudo yum -y update
2、安装必要的软件包:
安装软件包以允许YUM通过HTTPS使用存储库。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3、添加Docker的YUM存储库:
使用 yum-config-manager 来设置存储库。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、安装Docker Engine:
使用下面的命令安装Docker。
sudo yum install -y docker-ce docker-ce-cli containerd.io
5、启动Docker:
启动Docker服务,并设置为开机自启动。
sudo systemctl start docker
sudo systemctl enable docker
6、验证Docker安装:
运行下面的命令以验证Docker是否正确安装和启动。
sudo docker --version
你应该能看到类似于 Docker version 20.10.7, build f0df350 的输出。
三、docker安装Rabbitmq
前提是安装了docker
1、拉取RabbitMQ镜像:
使用Docker命令拉取RabbitMQ的官方镜像。
docker pull rabbitmq:3.7.17-management
2、运行RabbitMQ容器:
运行以下命令创建并启动RabbitMQ容器。
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management
- -d 参数是后台运行容器。
- –name rabbitmq 为容器指定名称。
- -p 5672:5672 暴露标准的AMQP端口。
- -p 15672:15672 暴露Web管理界面的端口。
3、访问RabbitMQ管理界面:
启动容器后,可以通过浏览器访问RabbitMQ的Web管理界面。
http://localhost:15672
四、docker安装Rabbitmq集群
前提是安装了docker
1、拉取RabbitMQ镜像:
使用Docker命令拉取RabbitMQ的官方镜像。
docker pull rabbitmq:3.7.17-management
2、创建 docker 网络(让容器可以和主机通信)
使用Docker命令拉取RabbitMQ的官方镜像。
docker network create rabbitmqnet
3、创建三个容器,端口分别是 5673 5674 5675 ,管理端口是 15673 15674 15675
docker run -d \
--name=rabbitmq1 \
-p 5673:5672 \
-p 15673:15672 \
-e RABBITMQ_NODENAME=rabbitmq1 \
-e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \
-h rabbitmq1 \
--net=rabbitmqnet \
rabbitmq:managementdocker run -d \
--name=rabbitmq2 \
-p 5674:5673 \
-p 15674:15672 \
-e RABBITMQ_NODENAME=rabbitmq2 \
-e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \
-h rabbitmq2 \
--net=rabbitmqnet \
rabbitmq:managementdocker run -d \
--name=rabbitmq3 \
-p 5675:5672 \
-p 15675:15672 \
-e RABBITMQ_NODENAME=rabbitmq3 \
-e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \
-h rabbitmq3 \
--net=rabbitmqnet \
rabbitmq:management
4、后两个节点作为内存节点加入集群
docker exec -it rabbitmq2 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1
rabbitmqctl start_appdocker exec -it rabbitmq3 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1
rabbitmqctl start_app
访问:
访问管理界面:http://dockerIp:15673/
默认用户名:guest
默认密码为:guest

guest 用户默认只能在当前访问。如果是本机访问虚拟机的服务,需要添加其他用户(比如 admin),分配 vhost 权限才能远程访问
./rabbitmqctl add_user admin admin
./rabbitmqctl set_user_tags admin administrator
./rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
5、加入集群失败
- 主节点是否启动成功, 网络连接是否正常, ping hostname 能不能 ping 通?
- 25672 端口, 防火墙是否允许
- erlang.cookie 是否一致, 如果遇到类似这样的错误 :TCP connection succeeded but Erlang distribution failed
清除历史记录 mv /var/lib/rabbitmq/mnesia/* /tmp/,重启
相关文章:
RabbitMQ 多种安装模式
文章目录 前言一、Windows 安装 RabbitMq1、版本关系2、Erlang2.1、下载安装 Erlang 23.12.2、配置 Erlang 环境变量 3、RabbitMQ3.1、下载安装 RabbitMQ 3.8.93.2、环境变量3.3、启动RabbitMQ 管理插件3.3、RabbitMQ3.4、注意事项 二、安装docker1、更新系统包:2、…...
C++ 包装器与绑定器的应用之回调函数的实现
回调函数的实现 在消息队列和网络库的框架中,当接收到消息(报文)时,回调用户自定义的函数对象,把消息(报文)参数传给它,由它决定如何处理。 queue参考文章:C queue(STL queue&…...
Baichuan大模型Base、Chat、Instruct等版本的区别
Baichuan大模型Base与Instruct等版本的区别解析 Baichuan大模型作为国内领先的开源语言模型,其不同版本(如Base、Chat、Instruct等)在训练目标、应用场景和性能特点上存在显著差异。以下是基于公开技术文档和行业分析的详细对比:…...
3.DrawCall的概念
DrawCall是渲染管线中的一个重要概念,指的是CPU向GPU发送的一个绘制命令,告诉GPU:“请根据我提供的数据,画一个物体(或一部分物体)。” 通俗易懂讲解:DrawCall就像给画师下订单 想象你是一个老…...
ubuntu电脑调用摄像头拍摄照片
一、 1、先装环境 conda create -n text python3.8 -y conda activate text 2、 pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple 1、连接摄像头拍摄收集数据集 capture_image5.py import cv2 as cv import os import datetime import n…...
PyQt4 的图片切割编辑器
一、 编辑器功能明确 允许用户加载图片、选择切割模式、对切割后的图片片段进行操作(如移动、复制、粘贴、删除等),并支持撤销和重做操作。 环境:Py2.7 PyQt 4.11 二、导入模块介绍 sys: 用于访问与 Python 解释器强相关的变…...
mac 电脑上安装adb命令
在Mac下配置android adb命令环境,配置方式如下: 1、下载并安装IDE (android studio) Android Studio官网下载链接 详细的安装连接请参考 Mac 安装Android studio 2、配置环境 在安装完成之后,将android的adb工具所在…...
Webrtc (1) - Windows 编译
最近项目上遇到webrtc wgc 的几个test case无法通过,与webrtc人员沟通后决定要自行修复一下(因为他们不想管…) 参考文档 https://webrtc.org/support/contributinghttps://chromium.googlesource.com/chromium/src//main/docs/#checking-out-and-building 以上两…...
学习数据结构(1)算法复杂度
1.数据结构和算法 (1)数据结构是计算机存储、组织数据的方式,指相互之间存在⼀种或多种特定关系的数据元素的集合 (2)算法就是定义良好的计算过程,取一个或一组的值为输入,并产生出一个或一组…...
GCC之编译(8)AR打包命令
GCC之(8)AR二进制打包命令 Author: Once Day Date: 2025年1月23日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章请查看专栏: Linux实践记录_Once-Day的博客-C…...
RocketMQ原理—4.消息读写的性能优化
大纲 1.Producer基于队列的消息分发机制 2.Producer基于Hash的有序消息分发 3.Broker如何实现高并发消息数据写入 4.RocketMQ读写队列的运作原理分析 5.Consumer拉取消息的流程原理分析 6.ConsumeQueue的随机位置读取需求分析 7.ConsumeQueue的物理存储结构设计 8.Cons…...
(Halcon)轮廓等分切割(项目分析)
目标:获取绿色圆所在位置(可用于点焊/点胶引导) 实现思路 一,相机标定板标定(如果实战用于点焊/点胶引导需要做图像畸变校正以减小误差) 相机标定 如何做一个C#仿Halcon Calibration插件-CSDN博客 二&…...
NIO 和 Netty 在 Spring Boot 中的集成与使用
Netty到底是个啥,有啥子作用 1. Netty 的本质:对 NIO 的封装 NIO 的原生问题: Java 的 NIO 提供了非阻塞 I/O 和多路复用机制,但其使用较为复杂(如 Selector、Channel、Buffer 的配置和管理)。开发者需要自…...
【更正版】梯级水光互补系统最大化可消纳电量期望短期优化调度模型
目录 1 主要内容 目标函数: 约束条件: 线性化处理: 流程示意: 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《梯级水光互补系统最大化可消纳电量期望短期优化调度模型》,构建了以最大化整体可…...
基于AnolisOS 8.6安装GmSSL 3.1.1及easy_gmssl库测试国密算法
测试环境 Virtual Box,AnolisOS-8.6-x86_64-minimal.iso,4 vCPU, 8G RAM, 60 vDisk。最小化安装。需联网。 系统环境 关闭防火墙 systemctl stop firewalld systemctl disable firewalld systemctl status firewalld selinux关闭 cat /etc/selinux/co…...
vue3 实际应用 将一个日期使用 moment.js 实现星期 今天 明天 ...
数据源 ["2025-01-23","2025-01-24","2025-01-25","2025-01-28","2025-01-26","2025-01-27" ] 后端给返回了一个这样的数据 日期数据 实际应用中实现的是这样的显示效果 日期需要这样显示的tabs 栏 我们需要…...
LLM幻觉(Hallucination)缓解技术综述与展望
LLMs 中的幻觉问题(LLM 幻觉:现象剖析、影响与应对策略)对其可靠性与实用性构成了严重威胁。幻觉现象表现为模型生成的内容与事实严重不符,在医疗、金融、法律等对准确性要求极高的关键领域,可能引发误导性后果&#x…...
Unity入门2 背景叠层 瓦片规则
切割场景 瓦片调色盘 放在Assets里面新建瓦片地图,palettes tile 瓦片 palettes调色板 上下窗口是分开的 拖进这个格子窗 瓦片太碎,要封装 装好之后,只是把瓦片放上去了,但是还没有画布,显示是这样的 no valid target 新建“…...
docker-制作镜像gcc添加jdk运行java程序
最近的项目需要使用java调用c的链接库,.OS文件,一开始准备在jdk的镜像下去安装c的环境,不过安装的内容很多,比较复杂也容易缺很多的包,经过实验,我们决定使用gcc的镜像安装jdk来正确的运行java程序。 基础镜…...
HashTable, HashMap, ConcurrentHashMap 之间的区别
一、HashTable 只是将关键方法加上了锁(synchronized关键字)。 缺点:1.如果多线程访问同一个HashTable就回直接造成锁冲突。 2.HashTable的size属性也是通过 synchronized来控制同步的,效率比较低。 3.在扩容时会涉及大量的拷贝…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...
2025年- H71-Lc179--39.组合总和(回溯,组合)--Java版
1.题目描述 2.思路 当前的元素可以重复使用。 (1)确定回溯算法函数的参数和返回值(一般是void类型) (2)因为是用递归实现的,所以我们要确定终止条件 (3)单层搜索逻辑 二…...
Python异步编程:深入理解协程的原理与实践指南
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 持续学习,不断…...
解密鸿蒙系统的隐私护城河:从权限动态管控到生物数据加密的全链路防护
摘要 本文以健康管理应用为例,展示鸿蒙系统如何通过细粒度权限控制、动态权限授予、数据隔离和加密存储四大核心机制,实现复杂场景下的用户隐私保护。我们将通过完整的权限请求流程和敏感数据处理代码,演示鸿蒙系统如何平衡功能需求与隐私安…...
SFTrack:面向警务无人机的自适应多目标跟踪算法——突破小尺度高速运动目标的追踪瓶颈
【导读】 本文针对无人机(UAV)视频中目标尺寸小、运动快导致的多目标跟踪难题,提出一种更简单高效的方法。核心创新在于从低置信度检测启动跟踪(贴合无人机场景特性),并改进传统外观匹配算法以关联此类检测…...
