【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页面

至此,完成所有安装操作

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

相关推荐
落羽的落羽20 分钟前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
刚入门的大一新生22 分钟前
Linux-进程控制
linux·运维·服务器·c++
上火的金鱼妹27 分钟前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes
Vcaker38 分钟前
Linux学习25-harbor私有仓库部署
linux·运维·学习
刃神太酷啦42 分钟前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap
编程的一拳超人1 小时前
DeepSeek Harness Linux/macOS/Windows 本地下载、启动与模型配置指南
linux·windows·macos·deepseek
时凌云.1 小时前
【2026最新】JDK 下载安装与环境配置全教程(Windows/Mac/Linux 三平台,零基础友好)
java·linux·macos
不懂的浪漫2 小时前
ToDesk 连接 Linux 后分辨率过低的解决方法
linux·运维·数据库
广州灵眸科技有限公司3 小时前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php
susplus4 小时前
【linux应用软件编程】数据库sqlite3
linux·数据库·sqlite