在 CentOS 上使用 Docker 运行 RabbitMQ

在 CentOS 上使用 Docker 运行 RabbitMQ

在这里插入图片描述

使用Docker来运行RabbitMQ非常方便,以下是一个简单的步骤,以YAML配置文件方式创建和运行RabbitMQ容器。

构建容器

  1. 创建Docker Compose文件

创建一个docker-compose.yml文件,内容如下:

version: '3'services:rabbitmq:image: "rabbitmq:3-management"ports:- "5672:5672" # RabbitMQ default port- "15672:15672" # RabbitMQ Management UI portenvironment:RABBITMQ_DEFAULT_USER: guestRABBITMQ_DEFAULT_PASS: guest

在这个Compose文件中,我们使用了RabbitMQ的官方镜像,并映射了RabbitMQ的默认端口(5672)和管理界面端口(15672)。同时,通过environment指定了RabbitMQ的默认用户名和密码。

  1. 启动RabbitMQ容器

在终端中,导航到包含docker-compose.yml文件的目录,并执行以下命令:

docker-compose up -d

在这里插入图片描述

这将下载RabbitMQ镜像并启动一个包含RabbitMQ服务的Docker容器。通过-d选项,容器将在后台运行。

  1. 访问RabbitMQ管理界面

在浏览器中访问RabbitMQ的管理界面:http://localhost:15672/。使用先前在Compose文件中指定的用户名和密码(默认为guest/guest)登录。

现在,你已经成功在Docker中运行了一个RabbitMQ容器,并可以通过管理界面监控和管理RabbitMQ实例。可以使用RabbitMQ的默认端口(5672)来与其它应用程序通信。
在这里插入图片描述

但是,如果不是本地,还需要进行端口放行!

端口放行

如果你在CentOS上使用防火墙(firewalld)并希望放行RabbitMQ管理界面的端口(15672),可以按照以下步骤操作:

  1. 检查firewalld状态

首先,检查firewalld是否在运行。执行以下命令:

sudo systemctl status firewalld

如果firewalld未运行,你可以启动它:

sudo systemctl start firewalld
  1. 放行端口

如果你在CentOS上使用防火墙(firewalld)并希望放行RabbitMQ的管理界面端口(15672和5672),可以按照以下步骤操作:

  1. 检查firewalld状态

首先,检查firewalld是否在运行。执行以下命令:

sudo systemctl status firewalld

如果firewalld未运行,你可以启动它:

sudo systemctl start firewalld
  1. 放行端口

添加新的firewalld服务并放行15672和5672端口:

sudo firewall-cmd --permanent --new-service=rmq-management
sudo firewall-cmd --permanent --service=rmq-management --set-short="RabbitMQ Management"
sudo firewall-cmd --permanent --service=rmq-management --set-description="RabbitMQ Management Console"
sudo firewall-cmd --permanent --service=rmq-management --add-port=15672/tcp
sudo firewall-cmd --permanent --add-port=5672/tcp
sudo firewall-cmd --reload

这样就添加了一个名为 rmq-management 的服务,并将15672和5672端口添加到防火墙规则中。--permanent标志将这些规则永久保存,--reload 重新加载防火墙配置。

  1. 验证规则

可以使用以下命令查看新规则是否正确应用:

sudo firewall-cmd --list-all

在这里插入图片描述

确保在输出中看到 rmq-management 服务和端口 156725672

现在,你应该能够通过RabbitMQ管理界面的端口(15672)和RabbitMQ默认端口(5672)访问RabbitMQ。请记住,具体的命令可能因CentOS版本的不同而有所不同。如果你使用的是CentOS 7或8,上述命令应该能够正常工作。
注:5672代码中使用

总结

使用 Docker 在 CentOS 上搭建 RabbitMQ 是一种方便快捷的方式,同时直接放行端口使得管理界面更加容易访问。通过容器化,你可以轻松部署和管理 RabbitMQ,适用于开发、测试以及生产环境。希望本文对你在 CentOS 上运行 RabbitMQ 提供了清晰的指导。

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

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

相关文章

【SpringBoot快速入门】(2)SpringBoot的配置文件与配置方式详细讲解

之前我们已经学习的Spring、SpringMVC、Mabatis、Maven,详细讲解了Spring、SpringMVC、Mabatis整合SSM的方案和案例,上一节我们学习了SpringBoot的开发步骤、工程构建方法以及工程的快速启动,从这一节开始,我们开始学习SpringBoot…

纳米流体传热CFD模拟仿真

纳米流体传热CFD模拟仿真 一、引言 纳米流体传热是当前研究热点之一,由于其独特的传热特性和应用前景,受到了广泛关注。计算流体动力学(CFD)模拟作为一种有效的研究手段,在纳米流体传热领域发挥着重要作用。本文将介绍纳米流体传热CFD模拟的基本原理、方法、应用及未来发…

CAP、ACID、BASE傻傻分不清

CAP CAP 理论是分布式系统中的一个重要理论,它指出在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)这三个属性不可能同时达到最优…

HarmonyOS --- 首页(新新新手版,高手误入)

一、前言 每一个App都应该有一个首页,在Android中一般由MainActivity Navigation Fragment * N (随便你怎么组合,用别的也一样),鸿蒙呢?瞅瞅吧。阿弥陀佛,苦逼Android学完Java学Dart、学完Da…

✺ch5——纹理贴图

目录 加载纹理图像文件纹理坐标在着色器中使用纹理:采样器变量和纹理单元纹理贴图:示例程序多级渐远纹理贴图各向异性过滤环绕和平铺透视变形材质——更多OpenGL细节补充说明 纹理贴图是在栅格化的模型表面上覆盖图像的技术。 它是为渲染场景添加真实感的…

Jmeter实现性能测试--高频率(高吞吐量)

高频率场景通常涉及系统需要在极短时间内处理大量请求或事件。这些场景可能要求系统在短时间内执行多次操作,例如高频率的数据更新、传感器数据采集、金融交易、实时监控等。以下是一些高频率场景的示例: 金融交易: 高频交易系统需要在极短时…

路由表route

目录 Windows维护路由表,利用route命令,VPN完美异地组网什么是多网络环境这里我做个情景演示重置ipv4网络再次确认一下网络背景网关是什么多网络规划思路最后拓展内容实测一下网关切换选项网关的网关命令整理 Windows维护路由表,利用route命令…

MongoDB与大数据处理:构建高性能分布式数据库

MongoDB是一种非关系型数据库,具有高度灵活性和可扩展性。在处理大量数据时,索引的优化是提升查询性能的关键。下面将介绍一些MongoDB索引优化的指南,帮助用户更好地利用索引来提高查询性能。 一、选择适当的索引类型 1、单字段索引&#xf…

吴恩达深度学习intuition

这里是看吴恩达课程的一些记录和联想(因为以前听过,因此不会很细致,只做个人记录) 课程链接 首先提到training set, validation set (dev set),test set的分割问题。老师提到,最常用的划分方法传统方法是…

第四节TypeScript 声明变量

1、typescript变量声明 变量是一种使用方便的占位符,用于引用计算机内存地址。 我们可以把变量看做存储数据的容器。 typescript变量的命名规则: 变量名称可以包含数字和字母。除了下划线_和美元$符号外,不能包含其它特殊字符&#xff0c…

(备战2024)三天吃透Java面试八股文,面试通过率高达90%

什么样的求职者能够获得面试官的青睐?求职者需要准备哪些内容来面对形形色色的面试官?这两份资料是我在几十场面试中被面试官问到的问题,比其他复制粘贴的面试题强一百倍,堪称全网最强(我不太喜欢“全网最强”这样的字…

2023.12.18 制作py,shell脚本进行数据库操作与定时任务

目录 虚拟机中已有的两个库: bi_db和shopnc_db 1.在pycharm中,使用pymysql,连接数据库进行增删改查操作 1.1 查询 1.2 修改 1.3 删除 1.4 增加 2.使用pandas,操作pycharm对数据库进行操作 2.1 对mysql进行覆盖写入 2.2 对mysql进行追加写入 3.在linux中,进行自动化定…