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

相关推荐
友友马11 分钟前
『 Linux 』HTTP(一)
linux·运维·服务器·网络·c++·tcp/ip·http
重生之我在20年代敲代码21 分钟前
HTML讲解(一)body部分
服务器·前端·html
清水白石00838 分钟前
C++使用Socket编程实现一个简单的HTTP服务器
服务器·c++·http
记得开心一点嘛1 小时前
在Linux系统上使用Docker部署javaweb项目
linux·运维·docker
GG_Bond191 小时前
【项目设计】Facial-Hunter
服务器·人工智能
Tak1Na1 小时前
2024.9.18
linux·运维·服务器
A^mber2 小时前
828华为云征文|云服务器Flexus X实例|Ubunt部署Vue项目
运维·服务器·华为云
安得权2 小时前
Ubuntu 20.04 部署 NET8 Web - Systemd 的方式 达到外网访问的目的
linux·前端·ubuntu
chnyi6_ya2 小时前
深度学习的笔记
服务器·人工智能·pytorch
让学习成为一种生活方式2 小时前
解析药用植物重楼甾体皂苷生物合成中的连续糖基化及其抗真菌作用-文献精读49
linux·数据库·算法·天然产物化学