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

相关推荐
草莓熊Lotso1 小时前
Linux 基础 IO 初步解析:从 C 库函数到系统调用,理解文件操作本质
linux·运维·服务器·c语言·数据库·c++·人工智能
Cx330❀1 小时前
从零实现Shell命令行解释器:原理与实战(附源码)
大数据·linux·数据库·人工智能·科技·elasticsearch·搜索引擎
学嵌入式的小杨同学7 小时前
从零打造 Linux 终端 MP3 播放器!用 C 语言实现音乐自由
linux·c语言·开发语言·前端·vscode·ci/cd·vim
EverydayJoy^v^7 小时前
RH134学习进程——十二.运行容器(1)
linux·运维·容器
syseptember7 小时前
Linux网络基础
linux·网络·arm开发
zl_dfq8 小时前
Linux 之 【多线程】(线程的概念、Linux中的线程、页表)
linux
郝亚军9 小时前
如何在Ubuntu和win10/11之间通过samba访问对方的文件
linux·服务器·ubuntu
曦云沐9 小时前
【避坑指南】Ubuntu更新报错“Repository is not signed”的快速修复
linux·ubuntu·docker
带土110 小时前
10. .out文件
linux
Exquisite.10 小时前
企业高性能web服务器(4)
运维·服务器·前端·网络·mysql