详解最新版RabbitMQ 基于RPM 方式的安装

如何选择安装版本

已经不支持的发布系列

版本最后补丁版本首次发布时间停止更新时间
3.73.7.282017年11月28日2020年09月30日
3.63.6.162015年12月22日2018年05月31日
3.53.5.82015年03月11日2016年10月31日
3.43.4.42014年10月21日2015年10月31日
3.33.3.52014年04月02日2015年03月31日
3.23.2.42013年10月23日2014年10月31日
3.13.1.52013年05月01日2014年04月30日
3.03.0.42012年11月19日2013年11月30日

我们选择最新版:3.8.16 于2021年5月4日更新,但2019年10月1日就已经发布3.8 版本,并且3.7版本已经停止更新了。

基于RPM 方式安装RabbitMQ

目前支持的基于 RPM 的发行版列表包括

  • CentOS 8.x
  • RedHat Enterprise Linux 8.x
  • Fedora 32 到34 (使用 CentOS 8.x 软件包)

用户权限要求:RabbitMQ RPM 包需要sudo权限才能安装和管理。

CentOS 8 阿里云镜像下载:

http://mirrors.aliyun.com/centos/8/isos/x86_64/CentOS-8.3.2011-x86_64-dvd1.iso

基于RPM安装步骤

下载安装包

erlang
https://packagecloud.io/rabbitmq/erlang/packages/el/8/erlang-23.3.4.1-1.el8.x86_64.rpm
socat
http://www.rpmfind.net/linux/centos/8.3.2011/AppStream/x86_64/os/Packages/socat-1.7.3.3-2.el8.x86_64.rpm
RabbitMQ
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.16/rabbitmq-server-3.8.16-1.el8.noarch.rpm

img

注意

各个包的对应关系也是有一定要求的,像笔者这一套就都是el8的,下载的时候也一定要下载一样的,每个包后面也都有标示,而且和linux版本显示的4.18.0-80.el8.x86_64也是一致的(查看linux版本:uname -r)

将这三个rpm 上传到linux 服务器中

使用CentOS 7 系统的请下载以下安装包

https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.3-1.el7.x86_64.rpm 
http://www.rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/socat-1.7.3.2-2.el7.x86_64.rpm
https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.7.27-1.el7.noarch.rpm

安装需要的依赖包

yum install build-essential kernel-devel gcc gcc-c++ m4 ncurses-devel openssl openssl-devel unixODBC unixODBC-devel

安装RabbitMQ

分别安装Erlang、Socat、RabbitMQ(一定要按照顺序!)

安装Erlang:  rpm -ivh erlang-23.3.4.1-1.el8.x86_64.rpm
安装Socat:   rpm -ivh socat-1.7.3.3-2.el8.x86_64.rpm
安装RabbitMQ:rpm -ivh rabbitmq-server-3.8.16-1.el8.noarch.rpm

报错一

 [/usr/lib/tmpfiles.d/libstoragemgmt.conf:1] Line references path below legacy directory /var/run/, updating /var/run/lsm → /run/lsm; please update the tmpfiles.d/  drop - in file accordingly.
 [/usr/lib/tmpfiles.d/libstoragemgmt.conf:2] Line references path below legacy directory /var/run/, updating /var/run/lsm/ipc → /run/lsm/ipc; please update the tmpfiles.d/ drop-in file accordingly.
 [/usr/lib/tmpfiles.d/mdadm.conf:1] Line references path below legacy directory /var/run/, updating /var/run/mdadm → /run/mdadm; please update the tmpfiles.d/ drop-in file accordingly.
 [/usr/lib/tmpfiles.d/pesign.conf:1] Line references path below legacy directory /var/run/, updating /var/run/pesign → /run/pesign; please update the tmpfiles.d/ drop-in file accordingly.
 [/usr/lib/tmpfiles.d/rabbitmq-server.conf:1] Line references path below legacy directory /var/run/, updating /var/run/rabbitmq → /run/rabbitmq; please update the tmpfiles.d/ drop-in file accordingly.

解决报错一

将提示的需要修改的文件进行更改:旧→ 新

vim /usr/lib/tmpfiles.d/libstoragemgmt.conf 
 将 /var/run/lsm 改为 /run/lsm
vim /usr/lib/tmpfiles.d/mdadm.conf
 将/var/run/mdadm 改为 /run/mdadm
vim /usr/lib/tmpfiles.d/pesign.conf
 将/var/run/pesign 改为 /run/pesign
vim /usr/lib/tmpfiles.d/rabbitmq-server.conf
 将/var/run/rabbitmq 改为 /run/rabbitmq

再执行:

rpm -ivh rabbitmq-server-3.8.16-1.el8.noarch.rpm

如果只显示:已经安装,没有报错那就安装成功了。

RabbitMQ配置文件没有,需要新增rabbitmq.conf

cd /etc/rabbitmq/

vim rabbitmq.conf

编辑内容如下: loopback_users=none

这里的意思是开放使用,rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。

关于更多配置信息将在另一篇文章编写。

启动服务

rabbitmq-server start

报错二

ERROR: epmd error for host RabbitMQ-101: timeout

解决报错二

vim /etc/hosts

在最后添加:127.0.0.1 RabbitMQ-101

host 填写提示错误的host,别填错了

再次启动服务

这个命令启动属于“前台启动”,ctrl+c 退出服务,

使用后台启动命令:systemctl start rabbitmq-server

查看启动端口情况:lsof -i:5672

服务状态:systemctl status rabbitmq-server

image

可以看到服务启动成功和日志存放目录(/var/log/rabbitmq)

服务管理命令

启动服务:systemctl start   rabbitmq-server 
服务状态:systemctl status  rabbitmq-server
关闭服务:systemctl stop    rabbitmq-server 
重启服务:systemctl restart rabbitmq-server

开启rabbitmq 管理插件

/sbin/rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server

查看默认管理端口是否监听成功:netstat -anp|grep 15672

防火墙端口开放

开放访问端口15672: firewall-cmd -–permanent –-add-port=15672/tcp
重启防火墙:       firewall-cmd --reload

到此,就可以通过http://ip:15672进行登陆web页面了

img

输入默认的管理员账号密码:guest,guest

img

完成RabbitMQ 3.8.16的安装

RabbitMQ 相关端口的作用

- 4369:epmd,RabbitMQ 节点和 CLI 工具使用的对等发现服务
- 5672、5671:由 AMQP 0-9-1 和 1.0 客户端使用,分别为没有和有 TLS
- 25672:用于节点间和 CLI 工具通信(Erlang 分发服务器端口)并从动态范围分配(默认限制为单个端口,计算为 AMQP 端口 + 20000)。除非确实需要这些端口上的外部连接(例如,集群使用联合或在子网外的机器上使用 CLI 工具),否则不应公开这些端口。
- 35672-35682:由 CLI 工具(Erlang 分发客户端端口)用于与节点通信,并从动态范围(计算为服务器分发端口 + 10000 到服务器分发端口 + 10010)分配。
- 15672:HTTP API客户端、管理 UI和 rabbitmqadmin (仅当启用管理插件时才会监听)
- 61613、61614:没有和有TLS 的STOMP 客户端(仅当启用了STOMP 插件时才会监听)
- 1883、8883:MQTT 客户端没有和有TLS,如果启用了MQTT 插件才会监听
- 15674:STOMP-over-WebSockets 客户端(仅当启用了Web STOMP 插件时才会监听)
- 15675:MQTT-over-WebSockets 客户端(仅当启用了Web MQTT 插件时才会监听)
- 15692:Prometheus 指标(仅当启用Prometheus 插件时才会监听)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

列表元素添加的艺术:从单一到批量

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、向列表中添加单一元素 1. append方法 2. insert方法 三、向列表中添加批量…

2024年学浪视频怎么下载到手机相册

随着2024年的到来,学浪平台继续为广大学习者提供优质的在线教育资源。然而,如何将这些宝贵的视频内容下载到手机相册,方便随时离线观看呢?无论您是想在旅途中学习,还是希望在没有网络的情况下复习课程,本文…

网络层协议——IP协议

目录 一、IP协议 二、IP协议格式 三、网段划分 四、私网IP地址和公网IP地址 五、路由 一、IP协议 IP指网际互连协议,Internet Protocol的缩写,是TCP/IP体系中的网络层协议。 IP协议主要作用是提供一种能力,将数据从A主机传送到B主机的能力…

转行3年涨薪300%,我总结了一套产品经理快速入门指南!

想转行的产品小白,初期一定会遇到这个问题——我要如何 0 基础转行产品经理? 要想 0 基础快速转行产品经理,我通过个人实践总结了 5 个关键点,可以参考。 一、熟悉产品经理的工作全流程 转行的产品小白,首先要建立产…

【飞桨AI实战】基于PP-OCR和ErnieBot的智能视频问答

前言 本次分享将带领大家从 0 到 1 完成一个基于 OCR 和 LLM 的视频字幕提取和智能视频问答项目,通过 OCR 实现视频字幕提取,采用 ErnieBot 完成对视频字幕内容的理解,并回答相关问题,最后采用 Gradio 搭建应用。本项目旨在帮助初…

AI预测福彩3D采取888=3策略+杀断组+杀和尾缩水测试5月24日预测第1弹

哈喽,各位亲爱的小伙伴,在发布本期预测结果之前,先对最近的这套算法测试做一下总结。 最近的一套算法采用了88723的容差策略,关于容差策略相信大家都比较清楚:容差可以最大限度的保证初始大底中包含中奖号码&#xff0…

探秘机器学习经典:K-近邻算法(KNN)全解析

在浩瀚的机器学习宇宙中,K-近邻算法(K-Nearest Neighbors,简称KNN)如同一颗璀璨的明星,以其简洁直观的原理和广泛的应用范围,赢得了众多数据科学家的喜爱。今天,让我们一起揭开KNN的神秘面纱,深入探讨它的运作机制、优缺点、应用场景,以及如何在实际项目中灵活运用。 …

Prometheus监控平台配置--监控mysql

上一篇中讲述了怎么安装Prometheus,然后对服务器集群资源信息进行监控并通过grafana展示监控信息,在这一篇中我们只讲和mysql相关的监控,关于prometheus的监控原理以及安装可以看下上一篇。 1.上传 通过rz命令将安装包上传到任意目录&#xf…

linux之防火墙工具

netfilter Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中。 Netfilter在内核中选取五个位置放了五个hook(勾子) function(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING),而这五个hook function向用户…

21-信号集处理函数

屏蔽信号集 屏蔽某些信号 手动自动 未处理信号集 信号如果被屏蔽,则记录在未处理信号集中 非实时信号(1~31),不排队,只留一个实时信号(34~64),排队,保留全部 信号集…

Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现

目录 一、用Springboot读取本地工作目录的文件和文件结构 1.1、需求介绍 1.2、后端传递数据 1.2.1、语言框架 1.2.2、本地工作目录示范 1.2.3、后端代码 ①controller层 ②service层 ③响应的数据 二、总结 一、用Springboot读取本地工作目录的文件和文件结构 1.1、…

ColossalAI open-sora 1.0 项目技术报告 (视频生成)

项目信息 项目地址:https://github.com/hpcaitech/Open-Sora技术报告: Open-Sora 1:https://github.com/hpcaitech/Open-Sora/blob/main/docs/report_01.mdOpen-Sora 1.1:https://github.com/hpcaitech/Open-Sora/blob/main/docs…

冯喜运:5.24今日晚间黄金原油行情如何操作

【黄金消息面分析】:在经历了连续两个交易日的大幅下跌后,黄金市场在北京时间5月24日欧市早盘迎来了反弹。金价目前位于2338美元/盎司附近,市场对此轮波动表现出浓厚的兴趣。本文将深入分析黄金市场的最新动态,探讨其背后的逻辑&a…

【微信小程序开发】小程序前后端交互--发送网络请求实战解析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

安装部署统信UOS服务器操作系统1070e

原文链接:安装部署统信UOS服务器操作系统1070e Hello,大家好啊!今天给大家带来一篇关于安装部署统信UOS服务器操作系统1070e的文章。统信UOS是一款基于Linux的国产操作系统,以其安全性和稳定性受到广泛关注。本文将详细介绍如何安…

FE企业运营管理平台任意文件上传漏洞复现

简介 飞企互联-FE企业运营管理平台 uploadAttachmentServlet存在文件上传漏洞,攻击者可通过该漏洞在服务器端写入后门文件。 漏洞复现 FOFA语法: icon_hash="-1159839950" app=“FE-协作平台” 访问界面返回信息如下所示: POC: /servlet/uploadAttachmentServl…

RabbitMQ(二)七种工作模式

文章目录 概述:工作模式(七种)1. "Hello World!"2. Work Queues(工作队列模式)3. Publish/Subscribe(发布订阅模式)4. Routing5. Topics6. RPC7. Publisher Confirms 详细1. "Hello World!&…

HTML+CSS 响应式导航栏

效果演示 Code <div class="navbar"><input type="checkbox"><span></span><span></span><ul><li><a href="#">点赞</a></li><li><a href="#">关注&…

视频推拉流EasyDSS系统如何在清理缓存文件的同时不影响缓存读写?

视频推拉流EasyDSS视频直播点播平台可提供一站式的视频转码、点播、直播、视频推拉流、播放H.265视频等服务&#xff0c;搭配RTMP高清摄像头使用&#xff0c;可将无人机设备的实时流推送到平台上&#xff0c;实现无人机视频推流直播、巡检等应用。 有用户咨询&#xff0c;视频推…

C语言在VS中使用scanf报错?

我们在使用VS时&#xff0c;用scanf函数&#xff0c;VS会报以下错误&#xff1a; 以下是解决方法&#xff1a; 来到输出窗口&#xff0c;复制以下语句&#xff1a;_CRT_SECURE_NO_WARNINGS 第一种暂时方法 1.在代码的第一行&#xff0c;写下&#xff1a;#define _CRT_SECURE_…