【史上最细教程】CentOS7 下载安装 RabbitMQ(两种方式:手动安装 / Docker安装)

2024-01-04

【史上最细教程】CentOS7 下载安装 RabbitMQ

官网地址:https://www.rabbitmq.com/download.html

两种下载安装方式自选。

方式一:手动安装

1.下载安装Erlang、RabbitMQ

# 查看系统版本号(centos7)
root@songdanminserver:[/]lsb_release -a


# 下载

# 下载 Erlang rpm安装包
# Erlang是RabbitMQ语言环境,需要先安装好
# 通过下面<1.Erlang版本下载地址>,选择centos7对应的Erlang安装包下载(erlang-23.3.4.11-1.el7.x86_64)
# 用xftp上传到服务器(/usr/local/rabbitmq)

# 下载 RabbitMQ rpm安装包
# 通过下面<3.Erlang和RabbitMQ版本对照地址>,选择Erlang版本对应的RabbitMQ版本 (rabbitmq-server-3.9.16-1.el7.noarch)
# 用xftp上传到服务器(/usr/local/rabbitmq)



# 安装

# 查看安装包
root@songdanminserver:[/usr/local/rabbitmq]ls
erlang-23.3.4.11-1.el7.x86_64.rpm  rabbitmq-server-3.9.16-1.el7.noarch.rpm
# 安装Erlang
root@songdanminserver:[/usr/local/rabbitmq]sudo yum localinstall -y /usr/local/rabbitmq/erlang-23.3.4.11-1.el7.x86_64.rpm 
root@songdanminserver:[/usr/local/rabbitmq]erl -v  # q(). 退出
# 安装Socat  
root@songdanminserver:[/usr/local/rabbitmq]yum install -y socat
root@songdanminserver:[/usr/local/rabbitmq]socat -V   # Socat 是一种多功能的网络工具,可以创建各种类型的连接。
# 安装RabbitMQ
root@songdanminserver:[/usr/local/rabbitmq]sudo yum localinstall -y /usr/local/rabbitmq/rabbitmq-server-3.9.16-1.el7.noarch.rpm 
# 启用RabbitMQ可视化管理web客户端插件
# 说明:rabbitmq有一个默认账号和密码是:guest 默认情况只能在localhost本机下访问,所以需要添加一个远程登录的用户。
root@songdanminserver:[/usr/local/rabbitmq]rabbitmq-plugins enable rabbitmq_management

  1. Erlang版本下载地址:

    第一种:GitHub,慢: 发布 ·rabbitmq/erlang-rpm (github.com)

    第二种:packagecloud 更快,不需要下载安装包,复制脚本执行就行: rabbitmq/erlang - Results for el/7 in rabbitmq/erlang (packagecloud.io)

  2. RabbitMQ版本下载地址:

    第一种:GitHub,慢: Tags · rabbitmq/rabbitmq-server (github.com)

    第二种:packagecloud 更快,不需要下载安装包,复制脚本执行就行: rabbitmq/rabbitmq-server - Results for ‘rabbitmq-server’ and el/7 in rabbitmq/rabbitmq-server (packagecloud.io)

  3. Erlang和RabbitMQ版本对照地址:https://www.rabbitmq.com/which-erlang.html

    我的版本选择:

    image-20240103163349009

2.防火墙、安全组端口放行

# 5672:RabbitMQ的通讯端口
# 25672:RabbitMQ的节点间的CLI通讯端口
# 15672:RabbitMQ HTTP_API的端口,管理员用户才能访问,用于管理RabbitMQ,需要启动Management插件。
# 1883,8883:MQTT插件启动时的端口。
# 61613、61614:STOMP客户端插件启用的时候的端口。
# 15674、15675:基于webscoket的STOMP端口和MOTT端口

# 防火墙放行端口
sudo firewall-cmd --add-port=5672/tcp
sudo firewall-cmd --add-port=25672/tcp
sudo firewall-cmd --add-port=15672/tcp
sudo firewall-cmd --add-port=1883/tcp
sudo firewall-cmd --add-port=8883/tcp
sudo firewall-cmd --add-port=61613/tcp
sudo firewall-cmd --add-port=61614/tcp
sudo firewall-cmd --add-port=15674/tcp
sudo firewall-cmd --add-port=15675/tcp
sudo firewall-cmd --add-port=5672/tcp --permanent
sudo firewall-cmd --add-port=25672/tcp --permanent
sudo firewall-cmd --add-port=15672/tcp --permanent
sudo firewall-cmd --add-port=1883/tcp --permanent
sudo firewall-cmd --add-port=8883/tcp --permanent
sudo firewall-cmd --add-port=61613/tcp --permanent
sudo firewall-cmd --add-port=61614/tcp --permanent
sudo firewall-cmd --add-port=15674/tcp --permanent
sudo firewall-cmd --add-port=15675/tcp --permanent
# 配置结束后需要输入重载命令并重启防火墙以生效配置
firewall-cmd --reload
systemctl restart firewalld
# 查看防火墙状态
systemctl status firewalld

# 阿里云配置安全组放行这些端口

image-20240104094012124

3.启动RabbitMQ服务

# 启动服务
systemctl start rabbitmq-server
# 查看服务状态
systemctl status rabbitmq-server
# 停止服务
systemctl stop rabbitmq-server
# 开机启动服务
systemctl enable rabbitmq-server

4.浏览器用户登录

# 访问 你的服务器公网ip+端口15672      http://121.41.53.91:15672/
# 默认账号 guest/guest,RabbitMQ3.3以后,guest账号只能在本机登录,这里不修改配置了,需另建登录账号

# 用户级别:
# 1、administrator 可以登录控制台、查看所有信息、可以对rabbitmq进行管理
# 2、monitoring 监控者 登录控制台,查看所有信息
# 3、policymaker 策略制定者 登录控制台,指定策略
# 4、managment 普通管理员 登录控制台

# 创建用户名admin,密码admin
rabbitmqctl add_user admin admin
# 设置admin为超级管理员
rabbitmqctl set_user_tags admin administrator
# 授权远程访问(也可以登录后,可视化配置)
rabbitmqctl set_permissions -p / admin "." "." ".*"
# 创建完成后,重启RabbitMQ
systemctl restart rabbitmq-server

# 修改用户密码
rabbitmqctl change_password Username Newpassword 
# 删除用户
rabbitmqctl delete_user Username 
# 查看用户清单
rabbitmqctl list_users 

admin/admin用户重新登录 ,登录成功:

image-20240104094309322

5.配置文件查看(可略)

RabbitMQ默认情况下有一个配置文件,定义了RabbitMQ的相关配置信息,默认情况下能够满足日常的开发需求。如果需要修改需要,需要自己创建一个配置文件进行覆盖。
参考官网:
1:https://www.rabbitmq.com/documentation.html
2:https://www.rabbitmq.com/configure.html
3:https://www.rabbitmq.com/configure.html#config-items
4:https://github.com/rabbitmq/rabbitmq-server/blob/add-debug-messages-to-quorum_queue_SUITE/docs/rabbitmq.conf.example

image-20240104095431132

# rabbitmq配置文件
# 查看rabbitmq.config文件的存储路径 我默认是没有
find / -name rabbitmq.conf

参考:http://t.csdnimg.cn/5TVCv

方式二:Docker安装

Docker:虚拟化容器技术。

官网进去就是推荐Docker安装:https://registry.hub.docker.com/rabbitmq/

image-20240104111509059

1.安装Docker

# yum 包更新到最新
yum update
# 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源为阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker
yum install docker-ce -y
# 安装后查看docker版本
docker -v
# 安装加速镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://0wrdwnn6.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

docker相关命令:

# 启动docker:
systemctl start docker
# 停止docker:
systemctl stop docker
# 重启docker:
systemctl restart docker
# 查看docker状态:
systemctl status docker
# 开机启动:  
systemctl enable docker
systemctl unenable docker
# 查看docker概要信息
docker info
# 查看docker帮助文档
docker --help

2.获取RabbitMQ镜像、创建容器

官网:
1:https://www.rabbitmq.com/download.html
2:https://registry.hub.docker.com/rabbitmq/

# 获取RabbitMQ镜像 
docker pull rabbitmq:management

# 创建并运行容器、启动RabbitMQ管理插件
# docker run -di --name=myrabbit -p 15672:15672 rabbitmq:management
# 运行该命令后,Docker 会下载 RabbitMQ 镜像(如果本地没有的话),然后创建并启动一个名为 myrabbit 的容器,该容器使用了指定的端口映射和环境变量配置。您可以通过访问 http://ip:15672 来访问 RabbitMQ 的管理界面,并使用 admin/admin 进行登录
docker run -di --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
# 查看镜像
docker images
# 查看容器,获取到rabbitmq容器ID
docker ps -a
# 启动容器
docker start 容器ID
# 如果之前手动安装了,就需要关闭手动安装的RabbitMQ服务
# 查看服务状态
systemctl status rabbitmq-server
# 停止服务
systemctl stop rabbitmq-server


# 查看日志
docker logs -f myrabbit

3.浏览器访问

使用 http://你的公网IP地址:15672 访问rabbit控制台


扩展内容

yum安装和rpm安装区别:

  1. 使用 yum localinstall 安装:
    • 通过 yum localinstall 命令安装的软件包将被 yum 包管理器管理。这意味着您可以使用 yum 命令来更新、卸载和查询 RabbitMQ 软件包的信息。
    • 通过 yum localinstall 安装的软件包通常会被安装到默认的系统软件包路径中,比如 /usr/lib /usr/local 目录下。
  2. 直接安装 .rpm 文件:
    • 直接安装 .rpm 文件意味着您绕过了 yum 包管理器,直接将软件包安装到指定的位置。
    • 您可以选择将软件包安装到任意位置,通常是 /usr/local 目录下或其他自定义目录。

因此,如果您通过 yum localinstall 安装 RabbitMQ,它将按照 yum 的默认安装路径进行安装。而如果您直接安装 .rpm 文件,您可以选择安装到不同的文件位置。

无论使用哪种方式安装,RabbitMQ 的配置文件、日志文件和其他相关文件的位置都是一样的,通常位于 /etc/rabbitmq 目录下。

一般来说,RPM 包会按照规范将文件安装到以下标准目录:

/usr/bin:可执行文件
/usr/lib:库文件
/etc:配置文件
/var:运行时数据、日志等
/usr/share/doc:文档

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【史上最细教程】CentOS7 下载安装 RabbitMQ(两种方式:手动安装 / Docker安装) 的相关文章

随机推荐

  • Python内置类属性__module__属性的使用教程

    概要 在Python中 每个对象都有一些内置的属性 这些属性提供了有关对象的一些信息 其中一个内置属性是 module 属性 module 属性是一个字符串 它表示定义了类或函数的模块的名称 在本篇文章中 我们将详细介绍 module 属性
  • 运维的本质是什么?阿里“无人化”智能运维平台的演进

    差不多在两年前 阿里内部出现了很多运维中台 研发中台等等 那有没有后台呢 不好意思 我们只有中台 没有后台 会在中台上构建与业务相关的各个前台 目前阿里的业务几乎覆盖了所有行业 有着很多业务线 如果业务线的前台到中台全部都是我们自己去建设
  • 系统有万亿条消息怎么存储?

    系统有万亿条消息怎么存储 本文转自 公众号 ByteByteGo 如有侵权 请联系 立即删除 我们如何设计一个能存储数万亿条信息的系统 Discord 的消息存储演进给我们提供了真实案例参考 下图显示了 Discord 消息存储的演变过程
  • 学了网安有机会自己当老板——初创网络安全公司的指南

    初创公司的创始人常常会误以为黑客不会在他们创业的公司身上浪费时间 因为他们还不够大 不够有名 没有什么价值 你的规模小 知名度小并不意味着你不会成为攻击者的目标 初创公司的规模并不能使其免于网络攻击 因为黑客们会不断扫描互联网 寻找他们可以
  • C语言——!(--x)和!(-x)以及while(!(--x)) 和 while(!(-x))

    一 x 和 x 1 x 这个表达式表示先对变量 x 执行自减操作 即 x 的值减去 1 然后对自减后得到的结果取逻辑非 如果自减后的 x 等于 0 则逻辑非运算的结果为真 值为 1 否则结果为假 值为 0 2 x 这个表达式表示对 x 取反
  • Python 操作 JMeter 探索:pymeter 实操指南

    概要 JMeter 是一个流行的性能测试工具 用于测试 Web 应用程序的性能和负载 它通常与 GUI 一起使用 但如果您想在自动化测试中集成 JMeter 或者以编程方式创建和运行测试计划 那么 pymeter 库将是一个强大的工具 本文
  • HOOPS助力AVEVA数字化转型:支持多种3D模型格式转换!

    行业 电力和公用事业 化工 造船 能源 采矿业 挑战 创建大规模复杂资产的客户需要汇集多种类型的数据 以支持初始设计和创建强大的数字双胞胎 现有版本的产品只支持半打CAD格式 有限的内部开发资源限制了增加对新格式支持的能力 解决方案 HOO
  • 成为一名合格的软件测试工程师,得掌握什么技能?

    在这个信息时代 软件行业的需求空前增长 而 软件测试 工程师作为 软件开发 过程中的重要角色 也越来越受企业的重视 那么 成为一名合格的软件测试工程师需要掌握什么技能呢 我结合多年的教学经验为大家总结出以下几点 1 掌握基础理论 要想楼层盖
  • Web前端安全学习-CSRF

    今天下午上了一堂前端安全的课 挺有意思 记录下来 在上课之前 我对安全的概念是 用户输入是不可信的 所有用户的输入都必须转义之后才入库 然后 上面这个这种方式 仅仅是防止SQL注入攻击 避免业务数据库被渗入 在数据库有了一层安全保护之后 攻
  • 门禁管理:我才知道这个技术,可以如此高效!

    随着社会的发展和科技的进步 门禁监控技术在各类场所得到了广泛的应用 门禁监控系统不仅仅是简单的出入口管理 更是对安全和隐私的重要保障 客户案例 企业办公大楼 在现代企业办公环境中 对于办公大楼的安全管理显得尤为重要 通过部署泛地缘科技推出的
  • 挑选知识付费平台不再迷茫:掌握这些技巧,轻松找到适合自己的平台

    明理信息科技知识付费saas租户平台 在当今的知识付费市场中 用户面临的选择越来越多 如何从众多知识付费平台中正确选择属于自己的平台呢 下面 我们将为您介绍明理信息科技知识付费平台相比同行的优势 帮助您做出明智的选择 一 创新的技术架构 高
  • 8大数字技术打造ESG发展新范式!工业“双碳”建设应该这么做

    随着国家 双碳 目标的提出 数字化 绿色化证进入历史交汇 协同发展 路径合一 相辅相成的重要阶段 在此背景下 中国信通院 中国航天航空 工业互联网产业联盟于2022年联合出版了 数字技术赋能工业碳达峰碳中和应用指南 以下简称 指南 今年又细
  • 高德地图API

    首先注册高德地图API账户成为开发者用户 然后申请key与密钥 应用管理 我的应用 创建新应用 加载高德地图
  • 图像分割-Grabcut法

    版权声明 本文为博主原创文章 转载请在显著位置标明本文出处以及作者网名 未经作者允许不得用于商业目的 本文的C 版本请访问 图像分割 Grabcut法 C CSDN博客 GrabCut是一种基于图像分割的技术 它可以用于将图像中的前景和背景
  • 在线视频编辑大师视频画中画批量制作、批量添加背景图片的视频剪辑教程

    在数字媒体时代 创意与个性化的内容成为吸引观众的关键 媒体梦工厂软件以其独特的画中画功能 让您的视频剪辑更具创意与视觉冲击力 无论是制作图片与视频的画中画效果 还是批量添加背景图片效果 都能助您一臂之力 1 软件的画中画功能 允许您将图片与
  • 淘宝商品类目接口API:获取淘宝商品分类类目信息

    cat get 获得淘宝分类详情 响应参数 名称 类型 必须 示例值 描述 info Mix 0 cid 16 parent cid 0 name 其他女装 is parent true status normal sort order 0
  • 深入了解Python中的进程控制和监控技巧,提高系统稳定性

    概要 在计算机系统中 进程管理是一个重要的任务 它涉及创建 启动 监控 终止和管理运行中的进程 Python作为一门强大的编程语言 提供了丰富的库和模块 使得进程管理变得相对容易 本文将介绍如何使用Python来实现系统进程管理 包括创建和
  • stm32毕设分享 stm32单片机酒精浓度酒驾检测系统 - 物联网 嵌入式

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 硬件设计 MQ 3酒精乙醇传感器模块 SIM800C模块 5 软件说明 系统框图
  • 5年经验之谈 —— 为什么要做自动化测试?

    自动化测试是一种软件测试方法 通过编写和使用自动化脚本和工具 以自动执行测试用例并生成结果 自动化旨在替代手动测试过程 提高测试效率和准确性 自动化测试可以覆盖多种测试类型 包括功能测试 性能测试 安全测试等 以确保软件系统在各个方面的质量
  • 【史上最细教程】CentOS7 下载安装 RabbitMQ(两种方式:手动安装 / Docker安装)

    文章目录 史上最细教程 CentOS7 下载安装 RabbitMQ 方式一 手动安装 1 下载安装Erlang RabbitMQ 2 防火墙 安全组端口放行 3 启动RabbitMQ服务 4 浏览器用户登录