RabbitMQ Linux 安装教程详解

RabbitMQ Linux 安装教程详解

在 Linux 系统上安装 RabbitMQ 并确保其稳定运行,对于构建可靠的分布式消息系统至关重要。本文将详细介绍如何在 Linux 系统上安装 RabbitMQ,并提供关键的注意事项,帮助您避免常见的坑点,确保安装过程顺利。

一、环境准备

  1. 确认系统版本 :确保您的 Linux 系统为 CentOS 7 或 Ubuntu 18.04 及以上版本。

  2. 更新系统包 :执行以下命令更新系统包:

    • 在 CentOS 上:sudo yum update
    • 在 Ubuntu 上:sudo apt-get update
  3. 安装依赖工具 :安装一些必要的工具和库:

    • 在 CentOS 上:sudo yum install -y wget curl
    • 在 Ubuntu 上:sudo apt-get install -y wget curl

二、安装 Erlang

RabbitMQ 基于 Erlang 语言开发,因此需要先安装 Erlang。

(一)在 CentOS 上安装 Erlang

  1. 添加 Erlang Solutions 仓库
sudo wget https://packages.erlang-solutions.com/erlang Solutions/signing-key.pub
sudo rpm -import signing-key.pub
sudo wget https://packages.erlang-solutions.com/erlang-solutions-epel-2.el7.noarch.rpm
sudo rpm -Uvh erlang-solutions-epel-2.el7.noarch.rpm
  1. 安装 Erlang
sudo yum install -y esl-erlang

(二)在 Ubuntu 上安装 Erlang

  1. 添加 Erlang Solutions 仓库
sudo curl -fsSL https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo gpg --dearmor -o /usr/share/keyrings/erlang-solutions-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/erlang-solutions-archive-keyring.gpg] https://packages.erlang-solutions.com/ubuntu $(lsb_release -sc) contrib" | sudo tee /etc/apt/sources.list.d/erlang-solutions.list
sudo apt-get update
  1. 安装 Erlang
sudo apt-get install -y esl-erlang

三、安装 RabbitMQ

(一)在 CentOS 上安装 RabbitMQ

  1. 添加 RabbitMQ 仓库
sudo wget https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sudo rpm --import rabbitmq-release-signing-key.asc
sudo wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.11.16/rabbitmq-server-3.11.16-1.el8.x86_64.rpm
sudo rpm -ivh rabbitmq-server-3.11.16-1.el8.x86_64.rpm
  1. 安装 RabbitMQ
sudo yum install -y rabbitmq-server

(二)在 Ubuntu 上安装 RabbitMQ

  1. 添加 RabbitMQ 仓库
sudo apt-get install -y apt-transport-https
sudo curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/rabbitmq-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/rabbitmq-archive-keyring.gpg] https://dl.bintray.com/rabbitmq-gh/rabbitmq-server/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
sudo apt-get update
  1. 安装 RabbitMQ
sudo apt-get install -y rabbitmq-server

四、配置 RabbitMQ 服务

  1. 启动 RabbitMQ 服务
sudo systemctl start rabbitmq-server
  1. 设置开机自启
sudo systemctl enable rabbitmq-server
  1. 查看服务状态
sudo systemctl status rabbitmq-server

五、启用管理插件

  1. 启用管理插件
sudo rabbitmq-plugins enable rabbitmq_management
  1. 开放防火墙端口
sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent
sudo firewall-cmd --zone=public --add-port=5672/tcp --permanent
sudo firewall-cmd --reload

六、创建用户及配置权限

  1. 创建用户
sudo rabbitmqctl add_user admin admin123
  1. 设置用户标签
sudo rabbitmqctl set_user_tags admin administrator
  1. 配置用户权限
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

七、访问管理界面

打开浏览器,输入 http://<服务器 IP 地址>:15672 访问 RabbitMQ 的管理界面,使用刚才创建的 “admin” 用户登录。

八、注意事项

  1. 端口占用问题 :若启动 RabbitMQ 时报错 “ERROR: distribution port 25672 in use by rabbit@localhost”,可使用以下命令查找并停止占用端口的进程:
sudo ss -tulnp | grep 25672
sudo kill -9 <进程 ID>
  1. 依赖库问题 :若安装 Erlang 时报错 “No curses library functions found”,需安装 ncurses-devel 库:
sudo yum install ncurses-devel
  1. 防火墙设置 :确保防火墙允许访问 RabbitMQ 的相关端口(15672 和 5672)。

  2. 用户权限 :创建新用户并分配适当权限,避免使用默认的 guest 用户进行远程访问。

九、总结

通过以上步骤,您可以在 Linux 系统上成功安装并配置 RabbitMQ,并采取相应的注意事项来避免常见问题。希望本文对您有所帮助,如果您在安装过程中遇到任何问题,欢迎随时联系。

以上内容为您提供了一个简洁且详细的 RabbitMQ 安装教程,帮助您在 Linux 系统上顺利完成安装并配置 RabbitMQ,确保其稳定运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/78885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Godot笔记:入门索引

文章目录 前言游戏引擎软件界面关键概念GDScript导出成品创建非游戏应用后记 前言 最近对游戏引擎这块感兴趣&#xff0c;特别是因为游戏引擎自带的很多工具&#xff0c;作为图形化软件的开发应该也不错。 Godot 是一款这几年比较流行的开源游戏引擎。这里记录下入门学习使用 …

[C语言]猜数字游戏

文章目录 一、游戏思路揭秘二、随机数生成大法1、初探随机数&#xff1a;rand函数的魔力2、随机数种子&#xff1a;时间的魔法3、抓住时间的精髓&#xff1a;time函数 三、完善程序四、游戏成果1、游戏效果2、源代码 一、游戏思路揭秘 猜数字游戏&#xff0c;这个听起来就让人…

LeetCode392_判断子序列

LeetCode392_判断子序列 标签&#xff1a;#双指针 #字符串 #动态规划Ⅰ. 题目Ⅱ. 示例 0. 个人方法官方题解一&#xff1a;双指针官方题解二&#xff1a;动态规划 标签&#xff1a;#双指针 #字符串 #动态规划 Ⅰ. 题目 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序…

Python匿名函数与内置函数较难与较冷门知识点考前速记

5 lambda匿名函数与Python内置函数 lambda 函数通常用于编写简单的、单行的函数,通常在需要函数作为参数传递的情况下使用,例如在 map()、filter()、sorted()、list.sort() 等函数与方法中。 lambda语法格式: lambda arguments: expression lambda是 Python 的关键字,用…

DeepSeek谈《凤凰项目 一个IT运维的传奇故事》

《凤凰项目&#xff1a;一个IT运维的传奇故事》&#xff08;The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win&#xff09;是Gene Kim、Kevin Behr和George Spafford合著的一部小说&#xff0c;通过虚构的故事生动展现了IT运维中的核心挑战和Dev…

【上海大学数据库原理实验报告】MySQL基础操作

实验目的 熟悉MySQL基础操作。 实验内容 创建四张工程项目的关系表。 图 1 四张工程项目关系表的结构 检索供应零件编号为J1的工程的供应商编号SNO。检索供应零件给工程J1&#xff0c;且零件编号为P1的供应商编号SNO。查询没有正余额的工程编号、名称及城市&#xff0c;结果…

winget使用

Get-Command winget winget search qq winget install Tencent.QQ.NT

逻辑回归在信用卡欺诈检测中的实战应用

在大数据和机器学习蓬勃发展的时代&#xff0c;信用卡欺诈检测成为了保障金融安全的重要环节。逻辑回归作为一种经典的机器学习算法&#xff0c;在这一领域发挥着关键作用。本文将通过一段完整的Python代码&#xff0c;详细解析逻辑回归在信用卡欺诈检测中的具体应用过程&#…

矫平机:金属板材精密加工的“整形专家”

一、矫平机的定义与核心功能 矫平机&#xff08;Leveling Machine&#xff09;是金属加工领域的关键设备&#xff0c;主要用于消除金属板材或带材在轧制、运输过程中产生的内应力&#xff0c;矫正其弯曲、扭曲、波浪边等形变缺陷&#xff0c;使材料达到毫米级甚至微米级的平整…

百度「心响」:通用超级智能体,重新定义AI任务执行新范式

在AI技术从“对话交互”迈向“任务执行”的转折点&#xff0c;百度于2025年4月正式推出移动端超级智能体应用——心响。这款以“AI任务完成引擎”为核心的创新产品&#xff0c;被誉为“AI指挥官”&#xff0c;通过自然语言交互实现复杂任务的全流程托管&#xff0c;覆盖知识解析…

游戏性能测试

1. 分阶段&#xff0c;看目的&#xff0c;确定高中低三档测试机&#xff0c;最低档机的确定需要和客户端主程和制作人等共同确定 确定三档机的方式&#xff1a; 1. 要上线地区的top100&#xff0c;根据用户占比&#xff0c;划分出三档 2. 根据用研部门提供的数据&#xff0c;确…

react-10样式模块化(./index.module.css, <div className={welcome.title}>Welcome</div>)

1.react样式模块化 避免各个组件类名相同 相关样式冲突所以需要样式模块化。比如在组件Hello中的样式引入&#xff0c;将样式文件名更改为index.module.css如下图。 2. 文件中引入模块以及使用 文件中import引入模块样式 import welcome from "./index.module.css"…

4月30日星期三今日早报简报微语报早读

4月30日星期三&#xff0c;农历四月初三&#xff0c;早报#微语早读。 1、神舟十九号载人飞船因东风着陆场气象原因推迟返回&#xff1b; 2、林毅夫&#xff1a;到2049年中国经济体量有望达到美国的两倍&#xff1b; 3、市场监管总局&#xff1a;2024年查办商标、专利等领域违…

小刚说C语言刷题—1462小明的游泳时间

1.题目描述 伦敦奥运会要到了&#xff0c;小明在拼命练习游泳准备参加游泳比赛。 这一天&#xff0c;小明给自己的游泳时间做了精确的计时&#xff08;本题中的计时都按 24 小时制计算&#xff09;&#xff0c;它发现自己从 a 时 b 分一直游泳到当天的 c 时 d 分。 请你帮小…

SpringBoot+EasyExcel+Mybatis+H2实现导入

文章目录 SpringBootEasyExcelMybatisH2实现导入1.准备工作1.1 依赖管理1.2 配置信息properties1.3 H2数据库1.4 Spring Boot 基础概念1.5 Mybatis核心概念 1.6 EasyExcel核心概念 2.生成Excel数据工具类-随机字符串编写生成Excel的java文件 3.导入功能并且存入数据库3.1 返回结…

嵌入式开发高频面试题全解析:从基础编程到内存操作核心知识点实战

一、数组操作&#xff1a;3x3 数组的对角和、偶数和、奇数和 题目 求 3x3 数组的对角元素和、偶数元素和、奇数元素和。 知识点 数组遍历&#xff1a;通过双重循环访问数组的每个元素&#xff0c;外层循环控制行&#xff0c;内层循环控制列。对角元素判断&#xff1a; 主对…

分布式优化与一致性算法python实现

目录 摘要一、分布式优化问题描述二、一致性算法基础2.1 平均一致性(Average Consensus)2.2 Gossip 协议三、分布式梯度下降(DGD)四、分布式 ADMM 与共识优化五、收敛性与参数选择六、典型案例6.1 传感器网络参数估计6.1.1 问题描述6.1.2 算法设计6.1.3 实验结果6.2 分布式…

突破SQL注入字符转义的实战指南:绕过技巧与防御策略

在渗透测试中&#xff0c;SQL注入始终是Web安全的重点攻击手段。然而&#xff0c;当开发者对用户输入的特殊字符&#xff08;如单引号、反斜杠&#xff09;进行转义时&#xff0c;传统的注入方式往往会失效。本文将深入探讨如何绕过字符转义限制&#xff0c;并给出防御建议。 目…

算法导论第6章思考题

6.3-2 func(A) 1 A.heap-sizeA.len 2 \quad for i ⌊ A . l e n 2 ⌋ \lfloor {A.len\over2}\rfloor ⌊2A.len​⌋ downto 1 3 \qquad MAX-HEAPIFY(A,i) 对于第2行的循环控制变量i来说&#xff0c;为啥要求它是从 ⌊ A . l e n 2 ⌋ \lfloor {A.len\over2}\rfloor ⌊2A.len​⌋…

可商用,可离线运行,可API接口调用的开源AI数字人项目Heygem,喂饭级安装教程

前言 Heygem 是一款开源项目&#xff0c;致力于发挥你电脑硬件的全部潜力&#xff0c;让你无需依赖云端&#xff0c;也能在本地高效运行各类开源AI数字人模型。无论是 AI 语音对话、虚拟主播&#xff0c;还是数字人驱动引擎&#xff0c;Heygem 通过底层性能调度与资源管理优化&…