当前位置: 首页 > news >正文

RabbbitMQ篇(环境搭建 - 下载 安装)(持续更新迭代)

目录

一、Windows

1. 下载安装程序

2. 安装配置erlang

3. 安装rabbitMQ

4. 验证

二、Linux

1. 下载rpm包

1.1. 下载Erlang的rpm包

1.2. 下载socat的rpm包

1.3. 下载RabbitMQ的rpm包

2. 安装

2.1. 安装Erlang

2.2. 安装socat

2.3. 安装RabbitMQ

3. 启动RabbitMQ服务

4. RabbitMQWeb管理界面及授权操作

5. 卸载

6. 管理界面

三、Mac

1. brew 命令安装Mac安装 RabbitMQ

2. Mac 后台启动 RabbitMQ

3. Rabbit 用户操作

4. 下载 RabbitMQ 源文件安装 RabbitMQ

四、Docker

1. 单机部署

1.1. 下载镜像

1.2. 安装MQ


一、Windows

1. 下载安装程序

rabbitMQ安装程序下载路径:https://www.rabbitmq.com/install-windows.html

拉到页面中间找到如下点击:

erlang环境安装程序下载路径:Downloads - Erlang/OTP

2. 安装配置erlang

点击刚才下载的otp_win64_23.0.exe。如果对于安装路径没有特殊要求的话,就一路next直至安装成功即可,默

认安装路径为:C:\Program Files\erl-23.0。

接下来配置环境变量,常规操作,新建系统变量-键入变量名ERLANG_HOME,键入变量值:erlang安装路径。

如下图:

然后添加系统path路径中,添加 : %ERLANG_HOME%\bin

然后打开cmd,输入erl,看到我们的erlang版本号,就说明安装成功了

3. 安装rabbitMQ

双击我们刚才下载的rabbitmq-server-3.8.5程序,next,install即可,此处需要注意,如果要自定义安装路径的

话,路径中最好不要存在中文,会出现错误

安装完成之后,需要我们激活rabbitmq_management

打开cmd,进到sbin目录下,运行命令

rabbitmq-plugins enable rabbitmq_management

执行成功之后会看到如下图:三个插件被启动

4. 验证

上面的命令执行成功之后,我们就可以通过http://localhost:15672来访问web端的管理界面

初始可以通过用户名:guest 密码guest来登录。

这就说明我们安装成功了。

分享几条命令:

net start RabbitMQ  启动
net stop RabbitMQ  停止
rabbitmqctl status  查看状态

二、Linux

1. 下载rpm包

1.1. 下载Erlang的rpm包

RabbitMQ是采用 Erlang语言开发的,所以系统环境必须提供 Erlang环境,因此首先需要是安装 Erlang 注:

Erlang环境一定要与RabbitMQ版本匹配:

Erlang下载地址:(根据自身需求及匹配关系,下载对应rpm包)

https://www.rabbitmq.com/releases/erlang/

1.2. 下载socat的rpm包

rabbitmq安装依赖于socat,所以也需要下载socat

socat下载地址:http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm

1.3. 下载RabbitMQ的rpm包

RabbitMQ下载地址:(注意:不要忘记和Erlang版本匹配)

https://www.rabbitmq.com/download.html

最终:我们就回发现上面的三个rpm包下载成功了:

下载好之后,我们就可以在虚拟机中进行安装并启动RabbitMQ了:

2. 安装

2.1. 安装Erlang

首先将下载好的文件上传到虚拟机服务器,创建一个文件夹用来存放该Erlang文件

mkdir -p /usr/rabbitmq

然后切换到/usr/rabbitmq目录,解压安装erlang

# 解压
解压命令:rpm -Uvh erlang-23.2.7-2.el7.x86_64.rpm

# 安装
安装命令:yum install -y erlang

安装完成后输入如下指令查看版本号:

查看版本号命令:erl -v

2.2. 安装socat

注意:在安装rabbitmq之前需要先安装socat,否则,报错。

同理先把socat的rpm安装包上传到虚拟机服务器对应的rabbitmq目录下:

解压socat的rpm安装包:

# 解压
解压命令:rpm -Uvh socat-1.7.3.2-1.el6.lux.x86_64.rpm

# 解压完之后,安装即可
安装命令:yum install -y socat

2.3. 安装RabbitMQ

上面的两个安装好之后,就可以解压PabbitMQ的rpm安装包进行解压安装了:

# 解压命令: 
rpm -Uvh rpm -ivh rabbitmq-server-3.8.1-1.el7.noarch.rpm

# 安装命令:yum install -y rabbitmq-server

3. 启动RabbitMQ服务

也就是说上面的三个全部安装完成之后,那么我们就可以启动RabbitMQ服务了:

# 启动rabbitmq
命令:systemctl start rabbitmq-server
# 查看rabbitmq状态
命令:systemctl status rabbitmq-server

注意:再使用启动rabbitmq命令的时候,要先通过命令把防火墙给关闭,不关闭的话输入启动rabbitmq命令会出

现霸屏的问题。

关闭防火墙命令:systemctl stop firewalld.service

关闭之后就可以输入启动rabbitmq和查看rabbitmq状态的命令了:

显示active则表示服务安装并启动成功

其他命令:

# 设置rabbitmq服务开机自启动
systemctl enable rabbitmq-server# 关闭rabbitmq服务
systemctl stop rabbitmq-server# 重启rabbitmq服务
systemctl restart rabbitmq-server

4. RabbitMQWeb管理界面及授权操作

默认情况下,rabbitmq没有安装web端的客户端软件,需要安装才可以生效

# 打开RabbitMQWeb管理界面插件命令:
rabbitmq-plugins enable rabbitmq_management

然后我们打开浏览器,访问服务器公网ip:15672(注意打开阿里云安全组以及防火墙的15672端口,我们刚才

上面已经通过命令关闭防火墙了),就可以看到管理界面 :

访问格式:虚拟机ip:15672/

输入默认账号密码: guest , guest,guest用户默认不允许远程连接。

还可以自定义账户和密码:

增加自定义账号

添加管理员账号密码:rabbitmqctl add_user admin admin

分配账号角色:rabbitmqctl set_user_tags admin administrator

修改密码:rabbitmqctl change_password admin 密码

查看用户列表:rabbitmqctl list_users

使用新账号登录,成功登录界面

管理界面标签页介绍:

overview:概览

  • connections:无论生产者还是消费者,都需要与RabbitMQ建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况
  • channels:通道,建立连接后,会形成通道,消息的投递获取依赖通道。
  • Exchanges:交换机,用来实现消息的路由
  • Queues:队列,即消息队列,消息存放在队列中,等待消费,消费后被移除队列。

端口:

  • 5672:rabbitMq的编程语言客户端连接端口
  • 15672:rabbitMq管理界面端口
  • 25672:rabbitMq集群的端口

5. 卸载

rpm -qa | grep rabbitmq
rpm -e rabbitmq-server

6. 管理界面

添加用户

如果不使用guest,我们也可以自己创建一个用户:

创建Virtual Hosts

设置权限

三、Mac

一般来说,安装分为两种方式:

  1. 下载 RabbitMQ 源文件,解压源文件之后进行安装。
  2. 通过 brew 命令安装。在这里,推荐使用 brew 来安装,非常强大的 Mac 端包管理工具。

1. brew 命令安装Mac安装 RabbitMQ

1、安装 erlang

# 终端输入brew install erlang

2、安装 rabbitmq

# 终端输入brew install rabbitmq

3、配置 RabbitMQ 环境变量

# 终端输入vi ~/.bash_profile
复制

#添加配置 终端输入

vim ~/.bash_profile

export RABBIT_HOME=/usr/local/Cellar/rabbitmq/3.12.12
export PATH=$PATH:$RABBIT_HOME/sbin

#更新配置 终端输入

source ~/.bash_profile

4、安装 RabiitMQ 的可视化监控插件

# 终端输入sudo sbin/rabbitmq-plugins enable rabbitmq_management

2. Mac 后台启动 RabbitMQ

1、后台启动

# 终端输入sudo rabbitmq-server -detached 

2、查看状态

# 终端输入
sudo rabbitmqctl status

3、访问可视化监控插件的界面

# 浏览器内输入
http://localhost:15672

默认的用户名密码都是 guest,登录后可以在 Admin 那一列菜单内添加自己的用户


4、后台关闭

# 终端输入
rabbitmqctl stop

3. Rabbit 用户操作

1、添加 Rabbit用户

# 用户角色权限:

超级管理员(administrator):可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操

作。

监控者(monitoring):可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,

磁盘使用情况等)

策略制定者(policymaker):可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图

红框标识的部分)。

普通管理者(management):仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。

其他:无法登陆管理控制台,通常就是普通的生产者和消费者。

2、创建 Virtual Hosts

3、选中 Admin 用户设置权限

4. 下载 RabbitMQ 源文件安装 RabbitMQ

下载地址Generic Binary Build ("Generic UNIX Build") — RabbitMQ

备用下载地址:备用下载地址

文件目录下,分别执行以下命令 ※注意分别执行

xz -d rabbitmq-server-generic-unix-3.12.12.tar.xz
tar xvf rabbitmq-server-generic-unix-3.12.12.tar -C /home/esaas/rabbitmq

执行以下命令编辑 rabbitmq.env.conf

vim etc/rabbitmq/rabbitmq.env.conf 

加入以下配置。将目录替换为自己的目录。并在rabbitmq_server-3.12.12 下创建data目录

#node name
NODENAME=rabbit
#data dir
MNESIA_BASE=/你的目录/rabbitmq_server-3.12.12/data

编辑配置文件rabbitmq.conf

vim etc/rabbitmq/rabbitmq.conf 

加入以下配置。将目录替换为自己的目录。并在rabbitmq_server-3.12.12 下创建logs目录

#listen port
listeners.tcp.default = 5672
#log dir
log.dir =/你的目录/rabbitmq_server-3.12.12/logs
#open remote request
loopback_users = none

配置环境变量

sudo vim /etc/profile

加入以下内容

export RABBIT_MQ=/home/esaas/rabbitmq/rabbitmq_server-3.12.12
export PATH=$PATH:$RABBIT_MQ/sbin

使环境变量生效

source /etc/profile

安装后和以上相同操作,运行RabbitMQ

四、Docker

1. 单机部署

我们在Centos7虚拟机中使用Docker来安装。

1.1. 下载镜像

方式一:在线拉取

docker pull rabbitmq:3-management

方式二:从本地加载

上传到虚拟机中后,使用命令加载镜像即可:

docker load -i mq.tar

1.2. 安装MQ

执行下面的命令来运行MQ容器:

docker run \-e RABBITMQ_DEFAULT_USER=ylh \-e RABBITMQ_DEFAULT_PASS=20020630 \--name mq \--hostname mq1 \-p 15672:15672 \-p 5672:5672 \-d \rabbitmq:3-management

访问15672端口http://192.168.205.128:15672

输入账号密码就能进入RabbitMQ的首页

挂载数据据

docker run \-e RABBITMQ_DEFAULT_USER=wclass \-e RABBITMQ_DEFAULT_PASS=wclass \-v mq-plugins:/plugins \--name mq \--hostname mq1 \-p 15672:15672 \-p 5672:5672 \-d \rabbitmq:3-management

相关文章:

RabbbitMQ篇(环境搭建 - 下载 安装)(持续更新迭代)

目录 一、Windows 1. 下载安装程序 2. 安装配置erlang 3. 安装rabbitMQ 4. 验证 二、Linux 1. 下载rpm包 1.1. 下载Erlang的rpm包 1.2. 下载socat的rpm包 1.3. 下载RabbitMQ的rpm包 2. 安装 2.1. 安装Erlang 2.2. 安装socat 2.3. 安装RabbitMQ 3. 启动RabbitMQ服…...

C++基础补充(02)C++其他控制语句break continue goto等

文章目录 1. break2. continue 语句3. goto 语句goto的存在 4. 跳出多重循环4.1 goto 直接跳转4.2 C11及其后版本的 return 语句4.3 使用标志变量 在C中,控制语句用于管理程序的执行流程。常见有 break、continue 和 goto。 1. break break语句主要用于在循环或者s…...

决策树中联合概率分布公式解释说明

学习决策树时书本中有一公式 7-3 是: P ( X x i , Y y j ) p i j ( i 1 , 2 , … , m , j 1 , 2 , … , n ) P(X x_i, Y y_j) p_{ij} \quad (i 1, 2, \dots, m, \ j 1, 2, \dots, n) P(Xxi​,Yyj​)pij​(i1,2,…,m, j1,2,…,n) 这个公式表示的是随机变…...

计算机毕业设计 农场投入品运营管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...

php email功能实现:详细步骤与配置技巧?

php email发送功能详细教程?如何使用php email服务? 无论是用户注册、密码重置,还是订单确认,电子邮件都是与用户沟通的重要手段。AokSend将详细介绍如何实现php email功能,并提供一些配置技巧,帮助你更好…...

MapBox Android版开发 6 关于Logo

MapBox Android版开发 6 关于Logo Logo的显示查看源码及思路(Logo)第一步第二步 隐藏Logo示例查看源码及思路(Info)第一步第二步 隐藏Logo和Info示例 看到有网友留言问如何移除Logo,今天看了下V9源码,发现M…...

2024年房市

24年8月15日,国家统计局公布,“7月末,商品房待售面积73926万平方米”。(原文链接:https://www.stats.gov.cn/sj/zxfb/202408/t20240815_1955982.html)   7.39亿平方存量商品房,估价均价1万每平,总价约&am…...

index索引

index索引: create index 【1】on 【2】(【3】) 1为索引名,通常为id_表名_列名。2为表名。3为列名。 CREATE INDEX id_account_id ON account(id); -- 根据id创建索引 CREATE INDEX id_account_idname on account(id,name); -- 创建组合索引 索…...

理解互联网链路:从本地ISP到Tier 1 ISP运营商

1. 互联网服务提供商(ISP) 互联网服务提供商(ISP)是指提供互联网接入服务的公司或组织。它们负责将用户连接到互联网,并提供相关的服务,如电子邮件、网站托管和其他在线服务。ISP可以分为不同的层级&#…...

基于元神操作系统实现NTFS文件操作(三)

1. 背景 本文主要介绍DBR的读取和解析,并提供了基于元神操作系统的实现代码。由于解析DBR的目的是定位到NTFS磁盘分区的元文件$Root进行文件操作,所以只解析了少量的部分,其它部分可以参考相关文档进行理解。 DBR存在于磁盘分区的第一个扇区…...

深度学习与数学归纳法

最近发现,深度学习可以分为两个主要的阶段,分别是前向推理以及反向传播,分别对应着网络的推理和参数训练两个步骤。其中推理有时候也称为归纳推理。 在做参数训练的时候,本质上是在利用历史数据求网络参数的先验分布; …...

《Linux从小白到高手》理论篇(六):Linux软件安装一篇通

List item 本篇介绍Linux软件安装相关的操作命令,看完本文,有关Linux软件安装相关操作的常用命令你就掌握了99%了。 Linux软件安装 RPM RPM软件的安装、删除、更新只有root权限才能使用;查询功能任何用户都可以操作;如果普通用…...

【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错

1. 运行项目 import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Appl…...

②EtherCAT转Modbus485RTU网关多路同步高速采集无需编程串口服务器

EtherCAT转Modbus485RTU网关多路同步高速采集无需编程串口服务器https://item.taobao.com/item.htm?ftt&id798036415719 EtherCAT 串口网关 EtherCAT 转 RS485 (接上一章) 自由协议通信步骤 (以MS-A2-1041为例) 接收与…...

matlab-对比两张图片的HSV分量的差值并形成直方图

%对比两张图片的HSV分量的差值并形成直方图,改个路径就能用,图片分辨率要一致 close all; clear all; clc; I1imread(E:\test\resources\image\1.jpg); I2imread(E:\test\resources\image\2.jpg); HSV1 rgb2ntsc(I1); HSV2 rgb2ntsc(I2); %HSV,HSV 代…...

微服务SpringGateway解析部署使用全流程

官网地址: Spring Cloud Gateway 目录 1、SpringGateway简介 1、什么是网关 2、为什么用网关【为了转发】 2、应用: 1.启动nacos 2.创建网关项目 3.网关配置1 4.网关配置2【了解】 5.过滤器配置【了解】 1、SpringGateway简介 核心功能有三个&…...

Solidity 存储和内存管理:深入理解与高效优化

在 Solidity 中,存储和内存管理是编写高效智能合约的关键组成部分。合约执行的每一步操作都可能涉及到数据的存储和读取,而这些操作对 gas 的消耗有很大影响。因此,理解 Solidity 的存储模型以及如何优化数据的管理对于合约的安全性、性能和成…...

机器学习篇-day02-KNN算法实现鸢尾花模型和手写数字识别模型

一. KNN简介 KNN思想 K-近邻算法(K Nearest Neighbor,简称KNN)。比如:根据你的“邻居”来推断出你的类别 KNN算法思想:如果一个样本在特征空间中的k 个最相似的样本中的大多数属于某一个类别,则该样本也属…...

【C++】STL--vector

1.vector的介绍 我们先来看看vector的文档介绍,实际中我们只要熟悉相关接口就好了。 成员函数 使用STL的三个境界:能用,明理,能扩展 ,那么下面学习vector,我们也是按照这个方法去学习 2 vector的使用 v…...

Java使用Redis的详细教程

Redis是一个基于内存的key-value结构数据库,即非关系型数据库,具有高性能、丰富的数据类型、持久化、高可用性和分布式等特点。在Java项目中,Redis通常用于缓存、分布式锁、计数器、消息队列和排行榜等场景。以下是在Java中使用Redis的详细教…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

如何为服务器生成TLS证书

TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

云原生安全实战:API网关Kong的鉴权与限流详解

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...