三十一、RabbitMQ(2)

news2025/1/19 11:32:07

🌻🌻 目录

  • 一、RabbitMQ 入门及安装
    • 1.1 概述
    • 1.3 Erlang 安装
      • 1.2.1 安装下载
      • 1.2.3 安装依赖环境
      • 1.2.4 安装 Erlang
      • 1.2.4 Erlang安装成功
    • 1.3 安装 RabbitMQ
    • 1.5启动 rabbitmq 服务
    • 1.4 开启管理界面及配置
      • 1.5.1 设置配置文件
  • 二、RabbitMQWeb 管理界面及授权操作
    • 2.1 RabbitMQ 管理界面
    • 2.2 授权账号和密码
      • 2.2.1 新增用户
      • 2.2.2 设置用户分配操作权限
      • 2.2.3 为用户添加资源权限
    • 2.3 小结

一、RabbitMQ 入门及安装

1.1 概述

RabbitMQ 👉 官网

什么是RabbitMQ,官方给出来这样的解释:

RabbitMQ is the most widely deployed open source message broker.
With tens of thousands of users, RabbitMQ is one of the most popular open source message brokers. From T-Mobile to Runtastic, RabbitMQ is used worldwide at small startups and large enterprises.
RabbitMQ is lightweight and easy to deploy on premises and in the cloud. It supports multiple messaging protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.
RabbitMQ runs on many operating systems and cloud environments, and provides a wide range of developer tools for most popular languages.
翻译以后:

  • RabbitMQ是部署最广泛的开源消息代理。
  • RabbitMQ拥有成千上万的用户,是最受欢迎的开源消息代理之一。从T-Mobile 到Runtastic,RabbitMQ在全球范围内的小型初创企业和大型企业中都得到使用。
  • RabbitMQ轻巧,易于在内部和云中部署。它支持多种消息传递协议。RabbitMQ可以部署在分布式和联合配置中,以满足大规模,高可用性的要求。
  • RabbitMQ可在许多操作系统和云环境上运行,并为大多数流行语言提供了广泛的开发人员工具。

简单概述:

RabbitMQ是一个开源的遵循AMQP协议实现的基于Erlang语言编写,支持多种客户端(语言)。用于在分布式系统中存储消息,转发消息,具有高可用,高可扩性,易用性等特征。

1.3 Erlang 安装

  1. 环境准备:CentOS7.x+ / Erlang
    注意:因为 RabbitMQ 是 Erlang 语言编写的,安装 RabbitMQ 前必须先安装 Erlang,安装版本对应下载,版本对应如下表参考

erlang 和 RabbitMQ 版本的按照比较

在这里插入图片描述

Erlang官网

查看系统版本号

uname -a

在这里插入图片描述

1.2.1 安装下载

  1. 进入rabbitmq 的 github 地址下载 Erlang安装包
  2. 本地资源获取

第一步:

在这里插入图片描述

第二步:

在这里插入图片描述

第三步:

在这里插入图片描述

步骤一:创建一台自己的服务器,然后执行下列命令

mkdir /usr/rabbitmq

在这里插入图片描述

步骤二:将上面下载的资源上传到上面新建的服务器 /usr/rabbitmq下面

在这里插入图片描述

上传成功如下:

在这里插入图片描述

1.2.3 安装依赖环境

  • 在线安装依赖环境:
yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz

在这里插入图片描述

在这里插入图片描述

解释:yum 安装软件时出现 is this ok [y/d/n] 都直接按 y

  1. y代表yes:下载并安装
  2. d代表download:只下载不安装
  3. N代表no:不下载不安装

1.2.4 安装 Erlang

rpm -ivh erlang-25.1.2-1.el8.x86_64.rpm

在这里插入图片描述

解决参考

直接如下解决:

  • 在该命令后面加上 --nodeps --force
  • 该命令的作用: 不再分析包之间的依赖关系而直接安装
rpm -ivh erlang-25.1.2-1.el8.x86_64.rpm  --nodeps --force

1.2.4 Erlang安装成功

在这里插入图片描述

1.3 安装 RabbitMQ

1.RabbitMQ官网 下载地址

(1)

在这里插入图片描述

安装最新版本可忽略下截图:

在这里插入图片描述

(2)

在这里插入图片描述

  1. 本地资源中获取
# 安装
rpm -ivh socat-1.7.3.2-1.1.el7.x86_64.rpm  --nodeps --force

# 安装
rpm -ivh rabbitmq-server-3.11.6-1.el8.noarch.rpm --nodeps --force

在这里插入图片描述

1.5启动 rabbitmq 服务

# 启动服务
> systemctl start rabbitmq-server
# 查看服务状态
> systemctl status rabbitmq-server
# 停止服务
> systemctl stop rabbitmq-server
# 开机启动服务
> systemctl enable rabbitmq-server

启动成功:

启动服务,浏览器验证查看:http://192.168.188.183:15672/

在这里插入图片描述

1.4 开启管理界面及配置

# 开启管理界面
rabbitmq-plugins enable rabbitmq_management

出现下列(看截图)问题及解决:

在这里插入图片描述

cd /usr/lib64

ls libtinfo.so

cp libtinfo.so.5 libtinfo.so.6

ls libtinfo.so

rabbitmq-plugins enable rabbitmq_management
# 修改默认配置信息
vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app 
# 比如修改密码、配置等等,例如:loopback_users 中的 <<"guest">>,只保留guest

1.5.1 设置配置文件

cd /usr/share/doc/rabbitmq-server-3.6.5/

cp rabbitmq.config.example /etc/rabbitmq/rabbitmq.config

一定要注意:RabbitMQ 在安装完毕以后,会绑定一些端口,如果你购买的是阿里云或者腾讯云相关的服务器一定要在安全组中把对应的端口添加到防火墙。

二、RabbitMQWeb 管理界面及授权操作

2.1 RabbitMQ 管理界面

  1. 默认情况下,rabbitmq是没有安装web端的客户端插件,需要安装才可以生效
rabbitmq-plugins enable rabbitmq_management

说明:rabbitmq有一个默认账号和密码是:guest 默认情况只能在localhost本机下访问,所以需要添加一个远程登录的用户。

  1. 安装完毕以后,重启服务即可
systemctl restart rabbitmq-server

一定要记住,在对应服务器(阿里云,腾讯云等)的安全组中开放15672的端口。

  1. 在浏览器访问

在这里插入图片描述

2.2 授权账号和密码

2.2.1 新增用户

rabbitmqctl add_user admin admin

2.2.2 设置用户分配操作权限

rabbitmqctl set_user_tags admin administrator

用户级别:

  1. administrator 可以登录控制台、查看所有信息、可以对rabbitmq进行管理
  2. monitoring 监控者 登录控制台,查看所有信息
  3. policymaker 策略制定者 登录控制台,指定策略
  4. managment 普通管理员 登录控制台

2.2.3 为用户添加资源权限

rabbitmqctl.bat set_permissions -p / admin ".*" ".*" ".*"

2.3 小结

rabbitmqctl add_user 账号 密码
rabbitmqctl set_user_tags 账号 administrator
rabbitmqctl change_password Username Newpassword 修改密码
rabbitmqctl delete_user Username 删除用户
rabbitmqctl list_users 查看用户清单
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*" 为用户设置administrator角色
rabbitmqctl set_permissions -p / root ".*" ".*" ".*"

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JVM】垃圾回收算法与分代回收

文章目录1. 垃圾回收算法概述2. 标记-清除算法3. 标记-复制算法4. 标记-整理算法5. 分代回收本文参考&#xff1a;深入理解Java虚拟机&#xff1a;JVM高级特性与最佳实践&#xff08;第3版&#xff09; 1. 垃圾回收算法概述 根据判定对象消亡的角度来看&#xff0c;垃圾收集算…

基于PHP的学院社团管理系统

摘 要“互联网”的战略实施后&#xff0c;很多行业的信息化水平都有了很大的提升。但是目前很多学校日常工作仍是通过人工管理的方式进行&#xff0c;需要在各个岗位投入大量的人力进行很多重复性工作&#xff0c;这样就浪费了许多的人力物力&#xff0c;工作效率较低&#xff…

Python爬虫4-Scrapy爬虫框架入门了解

目录1、Scrapy爬虫框架介绍1.1 requests库和Scarpy爬虫的比较1.2 Scrapy爬虫的常用命令2、Scrapy爬虫基本使用2.1 步骤2.2 yield关键字的使用1、Scrapy爬虫框架介绍 安装Scrapy库&#xff1a;pip install scrapy 爬虫框架&#xff1a;是实现爬虫功能的一个软件结构和功能组件集…

手动挂载apex镜像

手动挂载apex镜像 1.loop设备 在类 UNIX 系统里&#xff0c;loop 设备是一种伪设备(pseudo-device)&#xff0c;或者也可以说是仿真设备。它能使我们像块设备一样访问一个文件。 这要先从mount的流程来理解&#xff0c;挂载操作&#xff0c;实际上就是把设备上的文件系统/目…

【MyBatis】核心配置文件,三大对象的作用域,#{}和${}的区别

1. environment环境:一般一个环境environment会对应一个SqlSessionFactory对象sqlSessionFactoryBuilder.build(Resources.getResourceAsStream("mybatis-config.xml"),"另一个环境的id");// 数据库环境配置在这个标签里 // 这里的default表示默认使用的环…

Spring Security 源码解读 :基本架构及初始化

Spring Security 是基于web的安全组件&#xff0c;所以一些相关类会分散在 spring-security包和web包中。Spring Security通过自定义Servlet的Filter的方式实现&#xff0c;具体架构可参考官网Spring Security: Architecture 这里使用Spring Boot 2.7.4版本&#xff0c;对应Sp…

安某客滑块分析

本文仅供学习&#xff0c;不参与商业应用 目标连接&#xff1a; aHR0cHM6Ly93d3cuYW5qdWtlLmNvbS9jYXB0Y2hhLXZlcmlmeS8/Y2FsbGJhY2s9c2hpZWxkJmZyb209YW50aXNwYW0 接口分析 刷新链接可以看到getInfoTp的接口&#xff0c;请求参数sessionId及dInfo是加密参数 返回的参数包含…

Cesium 生成terrain地形数据

Cesium 生成terrain地形数据 处理地形数据 由于CTB工具不支持DEM为NoData值和float的数据,所以需要对数据进行处理。 多个tif必须县合并镶嵌成一张tifpixeltype从float转为intNoData值处理为0我使用的是ArcGis10.5,打开ArcMap: 打开 ArcToolbox->Data Management Tools…

C语言基础知识(55)

C语言程序在不使用数组的情况下找到“N”个数字中的最大数字参考以下代码实现&#xff1a;#include<stdio.h>intmain(){int count 0;int numb1 0;int numb2 0;int i 0;printf("Enter count of numbers ");scanf("%d",&count);if(count <0){p…

HTTP绕WAF之浅尝辄止

0X00前言 最近参加重保&#xff0c;和同事闲聊时间&#xff0c;谈起来了外网&#xff0c;彼时信心满满&#xff0c;好歹我也是学了几年&#xff0c;会不少的。结果&#xff0c;扭头看完do9gy师傅的《腾讯 WAF 挑战赛回忆录》&#xff0c;就啪啪打脸了。说来惭愧&#xff0c;最…

【数据结构(5)】2.3 线性表的类型定义

文章目录1. 线性表的抽象数据类型定义2. 线性表的基本操作1. 线性表的抽象数据类型定义 数据对象&#xff1a;就是一些元素&#xff0c;元素的个数大于等于 0。数据关系&#xff1a;ai-1 是 ai 的前驱&#xff0c;同时 ai 是 ai-1 的后继&#xff0c;他们都属于集合 D 2. 线性…

1月的碎碎念,但是很有必要

从今年开始每个月会整理一个我生活的琐碎但觉得有必要的事&#xff0c;一来方便年底回顾&#xff0c;二来也希望这些事情对大家有也有些参考。 不高大上&#xff0c;但是希望某一天再看到的时候会觉得充满趣味。1.新的1年的1月开始了&#xff0c;想了很多计划&#xff0c;搬新办…

rocketmq源码-consumerQueue和indexFile文件写入

前言 在rocketmq的文件中&#xff0c;除了commitLog文件&#xff0c;还有两个重要的文件&#xff0c;分别是indexFile文件和consumerQueue文件&#xff0c;这篇笔记主要记录这两个文件的数据是怎么写进去的 consumeQueue文件中对应topic下的一个queue&#xff0c;在consumeQue…

ubuntu22.04安装kalibr

前言 首先ros1目前目前在ubuntu支持的最高版本是20.04。当时我是在ubuntu22.04上编译安装的ros1。过程也十分坎坷&#xff0c;手动下载了很多包&#xff0c;具体就不累赘了。 再者目前网上的资料也都是kalibrros1, 所以推荐安装ros1之后再来安装kalibr。其次这次安装主要 参考…

关于splitChunks的一次原理探索

前言 前端时间在做项目加载优化时用到了splitChunks自动拆包&#xff0c;后了解了一下原理写下了此文。 Modules和Chunks Modules简单来理解就是我们写的功能模块&#xff0c;不管是CommonJS还是ESM都算是一个Module&#xff0c;而Chunks则是webpack根据我们的规则/默认规则…

spring security 前后端分离 进行用户验证 权限登陆的实现代码(看不懂??直接cv)

目录 前言&#xff1a; 一.所需依赖 二.application.properties 三.工具类 3.1ApplicationContextUtils 3.2JwtUtils 3.3ResponseResult 3.4ResponseStatus 3.5RsaUtils 四.UserDetailServiceImpl 五.成功处理器 六.SecurityConfig 七. filter 前言&#xff1a; 前后…

多个路由器的局域网终端设备的资源访问

多个路由器之间资源的访问 本质是将路由设备放置到一个网段 中继路由 中继的路由可以看作是另一个路由中的一个终端设备&#xff0c;只是为了延长传递wifi&#xff0c;在使用ipcofig中的网关和主路由的网关一样&#xff0c;一般都是主路由的IP。 无线桥接的中继路由 无论是…

车-电-路网时空分布负荷预测研究(Matlab代码)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

使用c语言连接mysql数据库并且批量插入数据

​ 使用从c连接数据库需要在本机安装数据库&#xff0c;或者拿到数据库所在主机的IP地址。先说明我使用的是mysql8.0 64位的数据库&#xff0c;使用的vs是vs2019。 1.配置环境 首先打开vs2019&#xff0c;创建一个空项目&#xff0c;让后右击下图所示位置&#xff0c;然…

网络编程套接字之UDP

文章目录一、网络编程二、UDP数据报套接字编程DatagramSocketDatagramPacket实现客户端服务器程序EchoServer客户端一、网络编程 我们网络编程的核心: Socket API&#xff0c;操作系统为我们应用程序提供的API&#xff0c;我们的Socket是和传输层密切相关的。 我们传输层为我…