【Linux服务器Java环境搭建】012在linux中安装消息队列RabbitMQ,以及对RabbitMQ设置、启动、开启可视化

news2024/9/19 6:56:52

 系列文章目录

【Linux服务器Java环境搭建】


前言

上一篇博客竟然用了不到半小时就写完了,那就继续吧,如果对此系列感兴趣,可以点击系列【Linux服务器Java环境搭建】进行查看哈,这一篇主要是安装和配置消息队列RabbitMQ。


一、消息队列RabbitMQ是什么?

abbitMQ 是一个开源的消息代理软件,最常用于实现消息队列和消息传递系统。它基于AMQP(Advanced Message Queuing Protocol,高级消息队列协议)标准设计和实现,具有高可用性、高并发处理能力和灵活的路由功能。

  • 消息队列: RabbitMQ的核心功能是消息队列,它允许应用程序之间异步传递消息。消息队列可以用于解耦生产者和消费者,使得系统更加灵活和可扩展。

  • 可靠性: RabbitMQ提供了消息持久化、确认机制和重试机制,以确保消息在传递过程中的可靠性,即使在系统故障或重启时也能保证消息不会丢失。

  • 灵活的路由: RabbitMQ支持多种消息路由策略,例如通过交换器(Exchanges)和绑定(Bindings)来实现复杂的路由规则,以满足不同的应用需求。

  • 高并发和高可用性: RabbitMQ能够处理大量的并发连接和消息,并支持集群模式,通过将消息代理部署在多个节点上来提高系统的可用性和容错能力。

  • 多种协议支持: 除了AMQP,RabbitMQ还支持其他协议,如MQTT、STOMP等,能够与不同类型的客户端和系统进行集成。

  • 管理和监控: RabbitMQ提供了强大的管理和监控工具,包括基于Web的管理界面、命令行工具和API,便于管理员进行系统配置、管理和监控。

  • 插件扩展: RabbitMQ具有丰富的插件体系,可以通过插件来扩展其功能,例如支持不同的协议、添加新的交换器类型、增强监控能力等。

二、安装RabbitMQ

1.下载rmp安装包

说明:由于RabbitMQ 需要 erlang 环境的⽀持,在安装RabbitMQ之前,必须先安装 erlang 

A.查看MQ与Erlang版本对应关系

通过如下地址查看 MQ 版本与支持的 erlang 版本信息,咱们这里选择最新版本来下载

RabbitMQ版本v3.13.4
Erlang版本26.2.5.2

Erlang Version Requirements | RabbitMQ

B.下载RabbitMQ RPM包

下载地址:Release RabbitMQ 3.13.4 · rabbitmq/rabbitmq-server · GitHub

C.下载Erlang RPM包

下载地址:Releases · rabbitmq/erlang-rpm (github.com)

2.安装

A.RPM文件上传

将文件上传到 /root/lzh/ 文件夹,如下图

B.安装RPM文件

安装 erlang 【-i 安装命令   -vh 打印安装进度,可以不要】 

[root@lzh-2024 lzh]# rpm -ivh erlang-26.2.5.2-1.el7.x86_64.rpm 

 

安装依赖包【需要服务器能够连接外网】

[root@lzh-2024 lzh]# yum install socat -y

安装 RabbitMQ

[root@lzh-2024 lzh]# rpm -ivh rabbitmq-server-3.13.4-1.el8.noarch.rpm 

三、启动或停止RabbitMQ

A.开启自启动

[root@lzh-2024 lzh]# systemctl enable rabbitmq-server.service

B.启动服务

[root@lzh-2024 lzh]# systemctl start rabbitmq-server

C.停止服务

[root@lzh-2024 lzh]# systemctl stop rabbitmq-server

D.重新启动服务

[root@lzh-2024 lzh]# systemctl restart rabbitmq-server

E.查看服务状态

[root@lzh-2024 lzh]# systemctl status rabbitmq-server.service

 

四、开启web管理页面

[root@lzh-2024 lzh]# rabbitmq-plugins enable rabbitmq_management

 

在浏览器中访问地址 http://服务器IP:15672,打开界面如下

如果打不开查看防火墙状态,并开放端口15672,具体开启命令请查看 todo

五、用户管理

1.查看用户和角色

执行如下命令,可以看到,默认只有guest用户,默认账号密码【guest,guest】

[root@lzh-2024 lzh]# rabbitmqctl list_users

登录时提示只有在localhost才能登录,接下来,手动创建一个用户

2.创建用户

执行如下命令,将创建一个用户admin,密码为123456,创建完成后可以看到提示,不要忘记设置用户权限!

[root@lzh-2024 lzh]# rabbitmqctl add_user admin 123456

 再次执行rabbitmqctl list_users,可以看到admin用户,但是没有权限,下一步将给用户设置权限

3.设置用户角色

执行 如下命令,将给用户admin设置管理员administrator角色

[root@lzh-2024 lzh]# rabbitmqctl set_user_tags admin administrator

 

使用admin账号登录管理界面后,可以成功登录,但是会发现没有操作权限,接下来将给用户分配权限

 4.设置用户权限

执行如下命令,将给用户admin设置所有操作权限

[root@lzh-2024 lzh]# rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

 设置权限具体格式如下

rabbitmqctl [--node <node>] [--longnames] [--quiet] set_permissions [--vhost <vhost>] <username> <conf> <write> <read>

set_permissions 是设置用户权限 ,-p 后的 “/” 是指定 vhostpath,**< user>是指定用户,< conf>是配置权限,< write>**是写权限 **< read>**是读权限


六、总结

至此,RabbitMQ就安装完成了,在系列【Linux服务器Java环境搭建】的后续部分,将会结合实际项目对站点的发布以及部署进行讲解,到时候会详细讲解RabbitMQ对消息的处理【消息生产和消息消费】,敬请期待!

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

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

相关文章

Easysearch、Elasticsearch、Amazon OpenSearch 快照兼容对比

启动集群 Easysearch sysctl -w vm.max_map_count262144Amazon OpenSearch Elasticsearch 由于这个docker compose没有关于kibana的配置&#xff0c;所以我们还是用Console添加原生的Elasticsearch集群 集群信息 快照还原的步骤 快照前的准备 插件安装 本次测试选择把索…

力扣1696.跳跃游戏 VI

力扣1696.跳跃游戏 VI 递推 class Solution {public:int maxResult(vector<int>& nums, int k) {int n nums.size();vector<int> f(n);f[0] nums[0];for(int i1;i<n;i)f[i] *max_element(f.begin() max(i-k,0),f.begin() i) nums[i];return f[n-1];}…

【Manim动画教程】——基本几何 【弧-上】

1.标注点&#xff08;AnnotationDot&#xff09; 具有较大半径和粗体笔触的点&#xff0c;用于注释场景。 class AnnotationDot(radius0.10400000000000001, stroke_width5, stroke_colorManimColor(#FFFFFF), fill_colorManimColor(#58C4DD), **kwargs) 实例代码&#xff…

npm install报错:npm error ERESOLVE could not resolve

从git上拉取一个新vue项目下来&#xff0c;在npm install时报错&#xff1a;npm error ERESOLVE could not resolve 有网友分析原因是因为依赖冲突导致报错&#xff0c;解决方法如下&#xff1a; # --legacy-peer-deps&#xff1a;安装时忽略所有peerDependencies&#xff0c…

Serverless技术的市场调研与发展分析

目录 一、 Serverless基础 1.1 Serverless产生的背景 1.2 什么是Serverless 1.3 Serverless架构优势 1.3.1 按需使用的资源管理 1.3.2 简化业务运维复杂度 1.4 Serverless和Service Mesh相同点 1.5 Serverless基础架构 1.5.1 函数管理 1.5.2 事件触发器 1.5.3 函数的…

加载数据集(Dataset and Dataloader)

dataset主要是用于构造数据集&#xff08;支持索引&#xff09;&#xff0c;dataloader可以拿出一个mini-batch供我们快速使用。 一&#xff1a;上一节知识 一下是我们上一节提到的糖尿病数据集&#xff0c;其中在提到数据加载的时候&#xff0c;我们没有使用mini-batch的方法…

Linux系统下载htop

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、在Debian/Ubuntu上安装htop1.1更新包列表1.2 安装htop 二、在CentOS/RHEL上安装htop2.1.启用EPEL仓库2.2 安装htop 三、在Fedora上安装htop3.1.安装htop 四…

GraphRAG+ollama+LM Studio+chainlit

这里我们进一步尝试将embedding模型也换为本地的&#xff0c;同时熟悉一下流程和学一些新的东西 1.环境还是用之前的&#xff0c;这里我们先下载LLM 然后你会在下载nomic模型的时候崩溃&#xff0c;因为无法搜索&#xff0c;无法下载 解决办法如下lm studio 0.2.24国内下载…

升级pnpm 升级node.js 解决安装nodejs多版本时显示 is not yet released or available

第一部分&#xff1a;升级pnpm 1、使用命令查看本地安装的pnpm版本 pnpm -v2 使用命令安装指定版本的pnpm npm install -g pnpm8.9.0也可以使用以下命令安装最新版本的pnpm: npm install -g pnpmlatest安装后可以使用pnpm -v 查看是否升级成功 第二部分&#xff1a;升级n…

非线性支持向量机(SVM)

理论知识推导 支持向量机&#xff08;SVM&#xff09;是一种用于分类和回归分析的监督学习模型。在处理非线性数据时&#xff0c;线性SVM可能无法很好地分离数据。为了解决这个问题&#xff0c;我们使用核函数将低维空间的非线性数据映射到高维空间&#xff0c;使得在高维空间…

邵楠:数据湖存储的现状和未来趋势

近几年数据湖的概念非常火热&#xff0c;但是数据湖的定义并不统一&#xff0c;我们先看下数据湖的相关定义。 Wikipedia对数据湖的定义&#xff1a; 数据湖是指使用大型二进制对象或文件这样的自然格式储存数据的系统。它通常把所有的企业数据统一存储&#xff0c;既包括源系…

生产力工具|Endnote 21 Macwin版本安装

一、软件下载&#xff1a; &#xff08;一&#xff09;mac版本 Endnote 21版本下载&#xff1a;点击下载 Endnote 20版本下载&#xff1a;点击下载 Endnote X9版本下载&#xff1a;点击下载 &#xff08;二&#xff09;Endnote 20 Win版本 第一步&#xff1a;安装好官网软…

分享:一次性查找多个PDF文件,如何根据txt文本列出的文件名批量查找指定文件夹里的文件,并复制到新的文件夹,不需要写任何代码,点点鼠标批量处理一次性搞定

简介&#xff1a; 该文介绍了一个批量查找PDF文件&#xff08;不限于找PDF&#xff09;的工具&#xff0c;用于在多级文件夹中快速查找并复制特定文件。用户可以加载PDF库&#xff0c;输入文件名列表&#xff0c;设置操作参数&#xff08;如保存路径、复制或删除&#xff09;及…

树莓派4B从装系统raspbian到vscode远程编程(python)

1、写在前面 前面用的一直是Ubuntu系统&#xff0c;但是遇到一个奇葩的问题&#xff1a; 北通手柄在终端可以正常使用&#xff0c;接收到数据 但在python程序中使用pygame库初始化时总是报错&#xff1a;Invalid device number&#xff0c;检测不到手柄 经过n次重装系统&am…

【.NET全栈】ASP.NET开发Web应用——计算器

文章目录 一、简单计算器二、复杂计算器 一、简单计算器 新建Web应用项目&#xff0c;窗体页面 窗体设计代码&#xff1a; <% Page Language"C#" AutoEventWireup"true" CodeBehind"Default.aspx.cs" Inherits"AdoDemo.Default"…

打造智慧图书馆:AI视频技术助力图书馆安全与秩序管理

一、背景需求 随着信息技术的飞速发展&#xff0c;图书馆作为重要的知识传播场所&#xff0c;其安全管理也面临着新的挑战。为了确保图书馆内书籍的安全、维护读者的阅读环境以及应对突发事件&#xff0c;TSINGSEE青犀旭帆科技基于EasyCVR视频监控汇聚平台技术与AI视频智能分析…

《0基础》学习Python——第十九讲__爬虫\<2>

一、用get请求爬取一般网页 首先由上节课我们可以找到URL、请求方式、User-Agent以及content-type 即&#xff1a;在所在浏览器页面按下F12键&#xff0c;之后点击网路-刷新&#xff0c;找到第一条双击打开标头即可查看上述所有内容&#xff0c;将上述URL、User-Agent所对应的…

WGS84经纬度坐标 GCJ02火星坐标 BD09百度坐标互相转换

WGS84经纬度坐标 GCJ02火星坐标 BD09百度坐标互相转换 背景&#xff1a;uniapp做的微信小程序&#xff0c;使用到了相机拍照并获取位置坐标信息&#xff1b;在腾讯地图上展示坐标点位置信息&#xff1b; 由于业务需要我们的PC端用的不是腾讯地图&#xff0c;需要使用WGS84坐标或…

目标检测 | YOLO v1、YOLO v2、YOLO v3与YOLO v3 SPP理论讲解

☀️教程&#xff1a;霹雳吧啦Wz ☀️链接&#xff1a;https://www.bilibili.com/video/BV1yi4y1g7ro?p1&vd_sourcec7e390079ff3e10b79e23fb333bea49d 一、YOLO v1 针对于two-stage目标检测算法普遍存在的运算速度慢的缺点&#xff0c;YOLO创造性的提出了one-stage目标检测…

Jupyter notebook如何快速的插入一张图片?如何控制插入图片的缩放、靠左展示(ChatGPT)

在Jupyter Notebook中&#xff0c;你可以使用Markdown语法快速插入图片&#xff0c;并且可以通过HTML标签来控制图片的展示方式和缩放。 注意&#xff1a;以下所有操作都有一个前提&#xff0c;即选择Cell-CellType-Markdown 1. 快速插入图片 要在Jupyter Notebook中插入图…