opensuse安装rabbitmq

您好!安装 RabbitMQ 消息队列是一个非常棒的选择,它是许多现代应用架构中的核心组件。

在 openSUSE Tumbleweed 上安装 RabbitMQ 主要有两种流行的方式:一种是使用系统的包管理器 zypper,另一种是使用 Docker 容器。我将为您详细介绍这两种方法。

前置知识:RabbitMQ 是用 Erlang 语言编写的,因此安装 RabbitMQ 时会自动安装 Erlang 语言环境作为其依赖。您无需手动安装 Erlang。


方法一:使用 zypper 安装 (推荐,与系统集成度高)

这个方法会将 RabbitMQ 作为系统服务来安装和管理。

第一步:安装 RabbitMQ 服务器

打开终端,运行以下命令:

sudo zypper install rabbitmq-server

zypper 会自动解决包括 Erlang 在内的所有依赖关系,并进行安装。

第二步:启动并设置开机自启

安装完成后,服务需要手动启动,并设置为开机时自动运行。

# 立即启动 RabbitMQ 服务
sudo systemctl start rabbitmq-server# 将 RabbitMQ 服务设置为开机自启
sudo systemctl enable rabbitmq-server# (可选) 检查服务状态,确保它正在运行
sudo systemctl status rabbitmq-server

当您看到绿色的 active (running) 字样时,表示 RabbitMQ 核心服务已经成功启动。

第三步:启用 Web 管理插件 (非常重要!)

RabbitMQ 提供了一个非常好用的网页管理界面,但默认没有开启。我们必须手动启用它。

(
这一步有问题

https://blog.csdn.net/Yqha1/article/details/148962001?spm=1001.2014.3001.5501

)

# 启用 rabbitmq_management 插件
sudo rabbitmq-plugins enable rabbitmq_management

这个插件会启动一个 Web 服务器,默认监听在端口 15672

第四步:配置防火墙 (如果需要远程访问)

如果您想从另一台电脑访问 RabbitMQ 的管理界面或服务,您需要打开防火墙端口。如果您只在本机上访问 (localhost),则可以跳过此步。

# 开放 Web 管理界面的端口 15672
sudo firewall-cmd --add-port=15672/tcp --permanent# (可选) 开放 AMQP 协议的主端口 5672,用于程序连接
sudo firewall-cmd --add-port=5672/tcp --permanent# 重新加载防火墙规则以生效
sudo firewall-cmd --reload
第五步:创建管理员用户 (关键步骤)

出于安全原因,默认的 guest 用户只能通过 localhost 登录管理界面。为了能从任何地方登录,或者为了有更好的权限管理,您应该创建一个自己的管理员用户。

  1. 创建新用户 (将 myadminYourStrongPasswordHere 替换为您自己的用户名和密码):

    sudo rabbitmqctl add_user myadmin YourStrongPasswordHere
    
  2. 将用户设置为管理员:

    sudo rabbitmqctl set_user_tags myadmin administrator
    
  3. 为用户授予所有权限:

    sudo rabbitmqctl set_permissions -p / myadmin ".*" ".*" ".*"
    
第六步:验证安装

一切就绪!现在打开您的网页浏览器,访问:

http://localhost:15672

您会看到 RabbitMQ 的登录界面。请使用您刚刚创建的新用户名 (myadmin) 和密码登录。

如果您能成功登录并看到仪表盘 (Dashboard),那么恭喜您,RabbitMQ 已经完美安装并配置好了!


方法二:使用 Docker 运行 (现代、隔离、便捷)

如果您熟悉 Docker,或者不想在主系统中安装 RabbitMQ 服务,使用 Docker 是一个绝佳的选择。

  1. 确保您已安装并运行 Docker

  2. 运行 RabbitMQ 容器
    执行下面这一行命令,Docker 会自动下载带有管理插件的 RabbitMQ 镜像,并在后台启动一个容器。

    docker run -d --hostname my-rabbit --name some-rabbit \-p 5672:5672 \-p 15672:15672 \rabbitmq:3-management
    
    • -d: 后台运行
    • --name some-rabbit: 给容器起个名字
    • -p 5672:5672: 将主机的 5672 端口映射到容器的 5672 端口 (AMQP)
    • -p 15672:15672: 将主机的 15672 端口映射到容器的 15672 端口 (Web 管理)
    • rabbitmq:3-management: 使用官方的、包含管理插件的镜像
  3. 登录和使用

    • 浏览器访问 http://localhost:15672
    • 使用默认的用户名 guest 和密码 guest 登录。

总结与推荐

  • 对于初次学习和希望与本地系统紧密结合的用户,方法一 (zypper) 是一个非常好的开始,能让您熟悉系统服务的管理。
  • 当您未来项目变得更复杂,或者想快速搭建一个干净的测试环境时,方法二 (Docker) 会是更现代、更灵活、更受欢迎的选择。

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

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

相关文章

超详细YOLOv8/11图像菜品分类全程概述:环境、数据准备、训练、验证/预测、onnx部署(c++/python)详解

文章目录 一、环境准备二、数据准备三、训练四、验证与预测五、模型部署 一、环境准备 我的都是在Linux系统下,训练部署的;模型训练之前,需要配置好环境,Anaconda、显卡驱动、cuda、cudnn、pytorch等; 参考&#xff1…

JUC:4.线程常见操作与两阶段终止模式

在线程中,wait()、join()、sleep()三个方法都是进行阻塞的方法。对应可以使用interrupt()方法进行打断,被打断后线程会抛出打断异常,但是不会修改IsInterrupt,也就是此时去调用IsInterrupted()方法后获得的实际上是false。 而当线…

分布式session解决方案

在实际项目中,前台代码部署在nginx中,后台服务内嵌了tomcat运行在不同的节点中,常见的架构如下: 在上述架构中,nginx转发前台请求,第一次登录后,将用户登录信息写入到一台服务session中&#xf…

UDP 缓冲区

UDP 有接收缓冲区,没有发送缓冲区 引申问题 1、为什么没有发送缓冲区? 直接引用原文 “因为 UDP 是不可靠的,它不必保存应用进程的数据拷贝,因此无需一个真正的发送缓冲区” 2、没有发送缓冲区的情况下,sendto 的数…

解密 C++ 中的左值(lvalue)与右值(rvalue)的核心内容

在 C 中,表达式(expression) 可以被归类为左值或右值。最简单的理解方式是: 左值(lvalue): 能放在赋值号 左边的表达式,通常表示一个有名字、有内存地址、可以持续存在的对象。你可…

MATLAB(2)选择结构

选择结构又可以叫做分支结构,它根据给定的条件是否成立,决定程序运行的方向。在不同的条件下执行不同的操作。 MATLAB可以用来实现选择结构的语句有三种:if语句、switch语句、try语句。 一.if语句 1.if语句 1.1条件为矩阵的情况 if语句的…

Ehcache、Caffeine、Spring Cache、Redis、J2Cache、Memcached 和 Guava Cache 的主要区别

主流缓存技术 Ehcache、Caffeine、Spring Cache、Redis、J2Cache、Memcached 和 Guava Cache 的主要区别,涵盖其架构、功能、适用场景和优缺点等方面: Ehcache 类型: 本地缓存(JVM 内存缓存) 特点: 轻量级,运行在 JV…

谷歌浏览器截图全屏扩展程序

以下是一些支持跟随鼠标滚轮滚动截图的谷歌全屏截图扩展程序插件: GoFullPage:这是一款专门截取整个网页的截图插件。安装后,点击浏览器右上角的图标或使用快捷键AltShiftP,插件就会自动开始滚动并捕获当前访问的网站&#xff0c…

专线服务器具体是指什么?

专线服务器主要是指在互联网或者是局域网中,为特定用户或者是应用程序所提供的专用服务器设备,专线服务器与传统的共享服务器相比较来说,有着更高的安全性和更为稳定的网络连接,下面我们就来共同了解一下专线服务器的具体内容吧&a…

Jenkins JNLP与SSH节点连接方式对比及连接断开问题解决方案

一、JNLP vs SSH 连接方式优缺点对比 对比维度JNLP(Java Web Start)SSH(Secure Shell)核心原理代理节点主动连接Jenkins主节点,通过加密通道通信,支持动态资源分配。Jenkins通过SSH协议远程登录代理节点执…

Git - Commit命令

git commit 是 Git 版本控制系统中核心的提交命令,用于将暂存区(Stage/Index)中的修改(或新增/删除的文件)永久记录到本地仓库(Repository),生成一个新的提交记录(Commit…

Android System WebView Canary:探索前沿,体验最新功能

在移动互联网时代,WebView作为Android系统的核心组件之一,承担着在原生应用中显示Web内容的重要任务。它不仅为用户提供了便捷的网页浏览体验,还为开发者提供了强大的混合式开发能力。Android System WebView Canary(金丝雀版本&a…

kubernetes架构原理

目录 一. 为什么需要 Kubernetes 1. 对于开发人员 2. 对于运维人员 3. Kubernetes 带来的挑战 二. Kubernetes 架构解析 1. master 节点的组件 2. Node 节点包含的组件 3. kubernetes网络插件 三. kubeadm块速安装kubernetes集群 1. 基础环境准备(此步骤在三个节点都执…

服务器的安装与安全设置 域环境的搭建和管理 Windows基本配置 网络服务常用网络命令的应用 安全管理Windows Server 2019

高等职业教育计算机网络技术专业实训指导书 2025年目 录 实训的目的和意义 实训的具体目标及主要内容 实训完成后需要提交的内容 项目一 服务器的安装与安全设置 项目二 域环境的搭建和管理 项目三 Windows基本配置 项目四 网络服务 项目五 常用网络命令的应用 项目六…

Springcloud解决jar包运行时无法拉取nacos远程配置文件

问题描述 springcloud微服务,在idea中运行代码,能够正常拉去nacos上的配置文件,打包后,通过jar包启动 java -jar xxx.jar,出现错误:java.nio.charset.MalformedlnputException: Input length 1 问题原因…

【Leetcode刷题随笔】01. 两数之和

1. 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums [2, 7, 11,…

【机器学习深度学习】多层神经网络的构成

目录 一、神经网络模型的结构化组成方式 1. 最底层:神经网络模型 (Model) 2. 中间层:单个神经网络层 (Layer) 3. 最顶层:训练参数的细节 (Parameters & Variables) 二、关键理解要点 三、类比理解 场景一:工厂运作 场…

设计模式:揭秘Java原型模式——让复杂对象的创建不再复杂

原型模式 原型模式介绍 定义: 原型模式(Prototype Design Pattern)用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 西游记中的孙悟空,拔毛变小猴,孙悟空这种根据自己的形状复制出多个身外化身的技巧&…

Go语言-文件操作

基本介绍 文件是数据源,数据库也是一种特殊的文件。 Go语言中os.File结构体封装了文件的相关操作。 打开和关闭文件 -----打开文件----- file, err : os.Open("D:/111.txt") if err ! nil{fmt.Println("err ", err) }此时file就是一个指针&…

【电力物联网】云–边协同介绍

(꒪ꇴ꒪ ),Hello,我是祐言QAQ我的博客主页:C/C语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍快上🚘,一起学习,让我们成为一个强大的技术…