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
一般来说,安装分为两种方式:
- 下载 RabbitMQ 源文件,解压源文件之后进行安装。
- 通过 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的详细教…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

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

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...

VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...