【RabbitMQ】Linux上安装RabbitMQ详细步骤

RabbitMQ 安装

  • 前言
    • [一、RabbitMQ 版本确认和安装包下载](#一、RabbitMQ 版本确认和安装包下载)
    • [二、RabbitMQ 安装步骤与启动](#二、RabbitMQ 安装步骤与启动)
    • [三、RabbitMQ 用户创建、权限配置](#三、RabbitMQ 用户创建、权限配置)

前言

RabbitMQ是一个开源的消息代理软件,实现了高级消息队列协议(AMQP),用于在不同的应用程序之间进行异步通信。RabbitMQ是一个由Erlang语言编写的消息中间件,它遵循AMQP协议,提供了稳定可靠的消息传输服务。

最近公司迁移服务器,需要升级安装RabbitMQ,借此机会记录一下整个安装过程,有需要的可以直接参考此篇文章.

一、RabbitMQ 版本确认和安装包下载

RabbitMQ依赖于Erlang语言,所以我们安装RabbitMQ必须要先安装Erlang,RabbitMQ和Erlang有版本对应关系,我们必须选择合适的版本才能安装成功,访问链接: 官网版本对照,查看版本对应关系。

选定版本后访问链接下载安装包: 官方RabbitMQ安装包下载官方Erlang安装包下载

本文选择4.0.7版本RabbitMQ和27.3版本Erlang

二、RabbitMQ 安装步骤与启动

如果我们服务器上已经存在RabbitMQ的话,需要先将旧版本卸载后在进行安装

1、查看rabbitmq版本号

bash 复制代码
sudo rabbitmqctl --version

2、查看Erlang版本号

bash 复制代码
erl -version

3、停止运行当前rabbitmq(如果已存在的话)

bash 复制代码
sudo rabbitmqctl stop

4、卸载rabbitmq

bash 复制代码
sudo yum remove rabbitmq-server

如图所示表示已经卸载完成

5、验证卸载,提示命令未找到表示经卸载

bash 复制代码
sudo rabbitmqctl --version

6、卸载Erlang

bash 复制代码
sudo yum remove erlang

步骤4会卸载erlang,执行后会如下图显示,代表已经删除了

7、验证卸载,提示命令未找到表示经卸载

bash 复制代码
erl -version

8、上传安装包到服务器目录上

进入目录执行安装erlang

bash 复制代码
sudo rpm -ivh erlang-27.3-1.el8.x86_64.rpm 

9、验证erlang安装

bash 复制代码
erl -version

10、安装rabbitmq

bash 复制代码
sudo rpm -ivh rabbitmq-server-4.0.7-1.el8.noarch.rpm 

11、验证rabbitmq安装

bash 复制代码
sudo rabbitmqctl --version

至此,已经安装成功

12、启动rabbitmq服务

bash 复制代码
sudo systemctl start rabbitmq-server

其他命令:

停止rabbitmq服务

bash 复制代码
sudo systemctl stop rabbitmq-server

重启rabbitmq服务

bash 复制代码
sudo systemctl restart rabbitmq-server

13、设置开机自动启动

bash 复制代码
sudo systemctl enable rabbitmq-server

14、检查启动状态

bash 复制代码
sudo systemctl status rabbitmq-server

如图表示已启动成功

15、启用管理插件

bash 复制代码
sudo rabbitmq-plugins enable rabbitmq_management

16、配置端口开放,管理插件需要开放两个端口,AMQP 协议端口:5672,管理界面端口:15672

开放15672端口:

bash 复制代码
firewall-cmd --zone=public --add-port=15672/tcp --permanent

开放5672端口:

bash 复制代码
firewall-cmd --zone=public --add-port=5672/tcp --permanent

重启防火墙:

bash 复制代码
firewall-cmd --reload

17、访问web界面

浏览器输入http://服务器ip:15672/,不过默认guest账户是不允许远程访问的

三、RabbitMQ 用户创建、权限配置

1、查看guest默认用户权限

bash 复制代码
 sudo rabbitmqctl list_user_permissions guest

如下图所示该用户是没有读权限的,允许 guest 用户从远程访问管理界面存在安全风险,一般情况下都会新建一个用户

2、创建用户、授权

bash 复制代码
rabbitmqctl add_user 用户名 密码 #创建用户

如下图创建一个root用户,但是还不能使用登录,还需要添加虚拟主机、配置权限

3、添加虚拟主机

虚拟主机(Virtual Host) 是一个独立的命名空间,用于隔离不同的应用程序或环境。每个虚拟主机都有自己的交换机、队列、绑定和权限设置,这样可以避免不同应用程序之间的资源冲突和数据泄露。

bash 复制代码
rabbitmqctl add_vhost /root

4、查看虚拟主机

bash 复制代码
sudo rabbitmqctl list_vhosts

5、用户添加权限

其中 -胖表示制定虚拟主机,后面跟着用户名,用户名后面代表权限,从左到右分别表示配置权限、写权限、读权限,利用正则表达式陪匹配权限,.表示精确匹配,.*表示允许用户对所有资源执行相应的操作,^表示按照什么开头匹配资源,例如:只允许用户操作以queue1开头的队列,^queue1.*

bash 复制代码
rabbitmqctl set_permissions -p /虚拟主机 用户 '.*' '.*' '.*' 

如配置所有权限

6、授权

set_user_tags 命令用于为 RabbitMQ 用户分配角色标签(tags),这些标签决定了用户在 RabbitMQ 中可以执行的操作范围。

bash 复制代码
 rabbitmqctl set_user_tags root administrator 
权限 说明
administrator 允许执行所有管理操作,包括用户管理、虚拟主机管理、策略管理等。
monitoring 允许查看所有管理信息,包括节点状态、通道状态、连接状态等
policymaker 允许定义和修改策略,包括队列策略、镜像策略等。
management 允许通过 Web 管理界面进行管理操作,包括查看和管理队列、交换机、绑定等。
none 只能执行基本操作,如发布、消费消息。

7、登录web管理界面

利用刚刚创建好的root用户登录web页面

至此,完成所有安装操作

为了帮助更多像你一样的读者,我将持续在专栏中分享技术干货和实用技巧。如果你觉得这篇文章对你有帮助,可以考虑关注我的专栏,谢谢。

相关推荐
多多*1 小时前
Java设计模式 简单工厂模式 工厂方法模式 抽象工厂模式 模版工厂模式 模式对比
java·linux·运维·服务器·stm32·单片机·嵌入式硬件
南鸳6103 小时前
Linux常见操作命令(2)
linux·运维·服务器
fengwuJ3 小时前
Linux安装Idea
linux·ubuntu·debian·intellij-idea
西北大程序猿4 小时前
linux进程信号 ─── linux第27课
linux·运维·服务器·信号处理
涛ing4 小时前
【Git “fetch“ 命令详解】
linux·c语言·c++·人工智能·git·vscode·svn
想躺在地上晒成地瓜干4 小时前
树莓派超全系列文档--(18)树莓派配置音频
linux·音视频·树莓派·raspberrypi·树莓派教程
宅小海5 小时前
14 配置Hadoop集群-配置历史和日志服务
linux·服务器·hadoop
孤客网络科技工作室5 小时前
每天学一个 Linux 命令(7):cd
java·linux·前端
hanpfei6 小时前
PipeWire 音频设计与实现分析一——介绍
linux·音视频
想躺在地上晒成地瓜干6 小时前
树莓派超全系列文档--(17)树莓派配置显示器
linux·树莓派·raspberrypi·raspi-config