系列文章目录
前言
上一篇博客竟然用了不到半小时就写完了,那就继续吧,如果对此系列感兴趣,可以点击系列【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对消息的处理【消息生产和消息消费】,敬请期待!