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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/443801.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【含开题报告+文档+PPT+源码】基于SpringBoot的社区家政服务预约系统设计与实现【包运行成功】

开题报告 社区家政服务是满足居民日常生活需求的重要组成部分,在现代社会中发挥着越来越重要的作用。随着城市化进程的不断加速,社区家政服务需求量呈现持续增长的趋势。然而,传统的家政服务模式存在一些问题,如预约流程繁琐、信…

【Python自动化测试】如何才能让用例自动运行完之后,生成一张直观可看易懂的测试报告呢?

小编使用的是unittest的一个扩展HTMLTestRunner 环境准备 使用之前,我们需要下载HTMLTestRunner.py文件 点击HTMLTestRunner后进入的是一个写满代码的网页,小编推荐操作:右键 --> 另存为,文件名称千万不要改 python3使用上述…

手撕AVL树

🔥个人主页🔥:鱼骨不是鱼翅-CSDN博客 🌈收录专栏🌈:高阶数据结构_鱼骨不是鱼翅的博客-CSDN博客 🔖 学如逆水行舟,不进则退 目录 一.AVL树的概念 二.平衡因子 三.平衡二叉树怎么调…

自动驾驶系列—从IMU到惯性定位算法:自动驾驶精准定位的幕后科技

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

哪些因素会影响移动电源自动测试的结果?-纳米软件

一、USB 连接线对移动电源测试结果的影响 在移动电源输出电压的测试中,辅助用的 USB 连接线对测试的影响常常被测试工程师所忽视。不同的 USB 线缆连接可能会导致移动电源输出电压的测试结果不同。这是因为不同的 USB 线缆在材质、长度、线径等方面存在差异&#xf…

C语言 | Leetcode C语言题解之第454题四数相加II

题目&#xff1a; 题解&#xff1a; struct hashTable {int key;int val;UT_hash_handle hh; };int fourSumCount(int* A, int ASize, int* B, int BSize, int* C, int CSize, int* D, int DSize) {struct hashTable* hashtable NULL;for (int i 0; i < ASize; i) {for (…

分辨率提高4到8倍!AI高清修复工具-upscayl使用方法!

你还在为手中的模糊照片苦恼吗&#xff1f; 是不是想把老照片或低分辨率的图片用于大尺寸印刷&#xff0c;却因为画质糟糕而无从下手&#xff1f; 现在你不再需要高深的Photoshop技能&#xff0c;也不用花费巨资找人修图。借助AI高清修复工具Upscayl&#xff0c;只需几秒钟&am…

C语言预处理详解(上)(30)

文章目录 前言一、预定义符号二、#define定义标识符三、#define定义宏四、#define的替换规则五、带有副作用的宏六、宏和函数的对比七、#undef的作用八、# 和#的作用##的作用 总结 前言 C语言的入门学习差不多要到尾声了&#xff0c;感觉如何呢~   前文说编译的第一步就是预编…

计算机网络:计算机网络概述 —— 描述计算机网络的参数

文章目录 数据量性能指标速率带宽数据传输速率 吞吐量时延分析时延问题 时延带宽积往返时间利用率丢包率丢包的情况 抖动可用性可靠性安全性 计算机网络是现代信息社会的基础设施&#xff0c;其性能和可靠性对各类应用至关重要。为了理解和优化计算机网络&#xff0c;我们需要深…

python习题2

1、输出一个年份&#xff0c;判断其是不是闰年 #输入一个年份&#xff0c;判断其是否是闰年 y eval(input()) if y%4 0 and y%100 ! 0:print("是") elif y%4000:print("是") else:print("不是") 2、模拟智能客服&#xff1a; 按1查询账户余额…

【linux】麒麟v10安装prometheus监控(ARM架构)

Prometheus介绍 Prometheus 是一个开源的系统监控和警报工具包&#xff0c;最初由 SoundCloud 开发&#xff0c;现在是一个独立的开源项目&#xff0c;并且是云原生计算基金会&#xff08;CNCF&#xff09;的一部分。Prometheus 以其强大的数据模型和灵活的查询语言&#xff0…

Jedis多线程环境报错:redis Could not get a resource from the pool 的主要原因及解决办法。

本篇文章主要讲解&#xff0c;Jedis多线程环境报错&#xff1a;redis Could not get a resource from the pool 的主要原因及解决办法。 作者&#xff1a;任聪聪 日期&#xff1a;2024年10月6日01:29:21 报错信息&#xff1a; 报文&#xff1a; redis Could not get a resou…

[SQL] 安装

一 Windows 1.1 下载 进入Mysql的官方网站,点击下载->找到社区版本 选择对应操作系统进行下载。 点击下载 选择直接下载即可 1.2 安装 选择Full安装&#xff1a; MySQL服务器、客户端程序和其他附加工具如果只需要服务端那就选择Server only即可 点击执行,等待组件下载完…

PostgreSQL 任意命令执行漏洞(CVE-2019-9193)

记一次授权攻击通过PostgreSql弱口令拿到服务器权限的事件。 使用靶机复现攻击过程。 过程 在信息收集过程中&#xff0c;获取到在公网服务器上开启了5432端口&#xff0c;尝试进行暴破&#xff0c;获取到数据库名为默认postgres&#xff0c;密码为1 随后连接进PostgreSql …

IDEA里面的长截图插件

1.我的悲惨经历 兄弟们啊&#xff0c;我太惨了&#xff0c;我刚刚在准备这个继承和多态的学习&#xff0c;写博客的时候想要截图代码&#xff0c;因为这个代码比较大&#xff0c;一张图截取不下来&#xff0c;所以需要长截图&#xff0c;之前使用的qq截图突然间拉胯&#xff0…

【RK3588】rknpu驱动流程

画图工具 &#xff1a; https://pixso.cn/

第十四章 Redis之全局唯一ID(分布式集群)

目录 一、概念 ‌二、全局唯一ID的生成方法‌ 三、Redis生成全局ID 3.1. 生成策略 3.2. 代码 一、概念 全局唯一ID是指在分布式系统中&#xff0c;每个实体都有一个唯一的标识符&#xff0c;确保在不同的节点或服务之间能够唯一标识一个实体。这种唯一性对于数据的一致性…

OpenCV库模块解析

1.OpenCV库每个模块解析 2.OpenCV的常用函数 它为计算机视觉应用程序提供了一个通用的基础设施&#xff0c;并加速了在商业产品中使用机器感知。作为BSD许可的产品&#xff0c;OpenCV使企业可以很容易地利用和修改代码。该库拥有超过2500个优化算法&#xff0c;其中包括经典和最…

Android -- [SelfView] 自定义多色渐变背景板

Android – 自定义多色渐变背景板 前言&#xff1a; Android 自带的 xml 文件内 gradient 设置渐变最多只有三种颜色&#xff0c;使用方便但范围受限&#xff0c;不能很好满足各种需求&#xff1b; 本款多色渐变背景板应运而生&#xff1a;* 1. 支持圆角模式&#xff0c;矩形模…

Windows环境下CTRL+C信号处理函数的执行线程

1. 捕获CTRLC 有时候我们希望自己的程序被CTRLC以后&#xff0c;可以先执行一些收尾的工作才结束&#xff0c;比如释放动态内存&#xff0c;关闭网络端口、保存一些状态日志等等&#xff0c;可以用到C的signal的机制。 例程如下&#xff1a; #include <iostream> #inc…