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

系列文章目录

【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对消息的处理【消息生产和消息消费】,敬请期待!

相关推荐
我曾经是个程序员23 分钟前
C#Directory类文件夹基本操作大全
服务器·开发语言·c#
花姐夫Jun1 小时前
在 CentOS 8 系统上安装 Jenkins 的全过程
linux·centos·jenkins
地球资源数据云1 小时前
全国30米分辨率逐年植被覆盖度(FVC)数据集
大数据·运维·服务器·数据库·均值算法
是店小二呀1 小时前
【Linux】Linux开发利器:make与Makefile自动化构建详解
linux·运维·自动化
Allen Bright1 小时前
RabbitMQ中的普通Confirm模式:深入解析与最佳实践
分布式·rabbitmq
S-X-S2 小时前
集成RabbitMQ+MQ常用操作
rabbitmq
dzend2 小时前
Kafka、RocketMQ、RabbitMQ 对比
kafka·rabbitmq·rocketmq
BUG 4042 小时前
LINUX--shell
linux·运维·服务器
菜鸟小白:长岛icetea2 小时前
Linux零基础速成篇一(理论+实操)
linux·运维·服务器
深海的鲸同学 luvi2 小时前
【HarmonyOS NEXT】hdc环境变量配置
linux·windows·harmonyos