当前位置: 首页 > article >正文

【RabbitMQ】如何在 Ubuntu 安装 RabbitMQ

🥰🥰🥰来都来了,不妨点个关注叭!
👉博客主页:欢迎各位大佬!👈

在这里插入图片描述

文章目录

  • 1. 安装部署 Erlang 环境
    • 1.1 具体操作命令
    • 1.2 如何检查 Erlang 环境是否安装好?
    • 1.3 如何退出?
  • 2. 安装 RabbitMQ
    • 2.1 具体操作代命令
    • 2.2 查看日志排查问题
  • 3. 安装RabbitMQ管理界面
  • 4. 启动服务并访问
    • 4.1 启动服务
    • 4.2 通过 IP:port 访问界面
    • 4.3 添加管理员用户
  • 5. 如何操作 RabbitMQ

上一期内容,我们对 RabbitMQ 有了一个初步的了解~ 接下来,我们进行 RabbitMQ 的安装!

特别说明

  • 关于环境的说明: RabbitMQ 通常运行在 Linux 环境下,本专栏均在 Linux 环境下运行 RabbitMQ,因此,本期内容介绍如何在 Ubuntu 安装 RabbitMQ!

  • 关于安装方式的说明: RabbitMQ 已经包含在标准的 Ubuntu 仓库中,但是,包含的版本通常比最新的 RabbitMQ 发行版本落后很多,可能提供的 RabbitMQ 版本已经不支持,RabbitMQ 团队制作了自己的软件包,并使用 Cloudsmith 进行分发,具体操作可以参考:

由于该种方法安装比较复杂,在学习 RabbitMQ 阶段,本期内容采取使用 Ubuntu 仓库中的版本来安装,已经足够在学习阶段使用啦!(即介绍非常简单的安装方式!)

1. 安装部署 Erlang 环境

RabbitMQ 是一套开源的消息队列服务软件,基于 Erlang 语言编写的,因此,在安装 RabbitMQ 之前,我们需要先部署 Erlang 环境,再安装 RabbitMQ 环境(就像运行 Java 程序,需要先安装 JDK~)

注意:采用 root 用户,前面可以不加 sudo,如果不是 root 用户,请加上 sudo

1.1 具体操作命令

  • 更新软件包sudo apt-get update
  • 安装erlangsudo apt-get install erlang

在安装过程中,需要输入 Y ,确认~

(这里有个小 tip:在安装软件之前,最好更新一下软件包,看因为可能有新的导入进来~)

安装过程图:可能所需要的时间会比较长,小伙伴们耐心等待哦!与服务器的网络等因素相关,不要着急~

在这里插入图片描述

在我们安装的时候,会进行一个提醒,以下哪些需要重启,我们不需要,按左上角 —— Esc 键,即可退出

在这里插入图片描述

1.2 如何检查 Erlang 环境是否安装好?

安装Java,使用 java version 去查看是否安装好,同理,输入 erl,查看 Erlang 是否安装好:

在这里插入图片描述

出现这样一个界面,就说明 Erlang 已经安装好啦~

1.3 如何退出?

可以看到回车后,并没有进行返回!如何退出呢?

在这里插入图片描述
使用 halt(). 即可退出

在这里插入图片描述

(当然,还有一个比较粗暴的方式:Ctrl+C,一次不够来两次,两次不够来三次嘿嘿)

2. 安装 RabbitMQ

2.1 具体操作代命令

  • 更新软件包sudo apt-get update
  • 安装RabbitMQsudo apt-get install rabbitmq-server
  • 确认安装结果systemctl status rabbitmq-server

(可以不用更新软件包,因为上述安装 Erlang 环境,已经更新过啦,个人感觉不会更新得那么快捏hh)

通过这个命令 sudo apt-get install rabbitmq-server,安装 RabbitMQ:
在这里插入图片描述

在安装过程中,需要输入 Y ,确认~

同样会出现这个界面,继续按左上角 —— Esc 键,即可退出

在这里插入图片描述

通过这个命令 systemctl status rabbitmq-server查看 RabbitMQ 的状态~看是否安装成功!

在这里插入图片描述像这种就结束不了,可以用比较粗暴的方式:Ctrl+C,直接结束~

是不是感觉安装 RabbitMQ 这个方式,非常简单!!!(没错~)

2.2 查看日志排查问题

当然,有些小伙伴,可能会出现一些问题,可以通过查看日志的方式进行排查

1)在这个 /var/log/rabbitmq/ 目录下,切换到这个目录:cd /var/log/rabbitmq/
2)接着,输入 ll 命令
3)可以看到,RabbitMQ 的日志在这里:rabbitmq-server.log
在这里插入图片描述
小伙伴们如果遇到问题,可以通过如上操作,查看 RabbitMQ 日志进行查看问题~ 一些常见原因,比如:端口号冲突等

3. 安装RabbitMQ管理界面

默认是不安装管理界面的,RabbitMQ 官方提供了插件的方式进行安装管理界面

使用该命令 rabbitmq-plugins enable rabbitmq_management 以插件形式安装 RabbitMQ 管理界面~

在这里插入图片描述

4. 启动服务并访问

4.1 启动服务

如果我们的服务已经启动,此步可省略!

启动 RabbitMQ:sudo service rabbitmq-server start

查看服务状态:systemctl status rabbitmq-server(上述提到过)

在这里插入图片描述
上述过程,我们查看了 RabbitMQ 状态,是 active(running),说明服务是启动的,此步可以跳过~

(✨✨✨照顾那些没启动服务的小伙伴~)

4.2 通过 IP:port 访问界面

这里用你的 IP + 端口号访问,RabbitMQ 管理界面默认端口号是:15672

记得先添加安全组,开放端口哦~

在这里插入图片描述
这样就可以访问界面啦,如下:

在这里插入图片描述
默认的用户名和密码都是:guest

在这里插入图片描述

但是可以看到,我们并不能访问,如果要使用 guest 访问,则需要本机访问,才可以,因为从 RabbitMQ 3.3.0 开始,禁止使用 guest 权限通过 除了 localhost 外的访问(当然解除的方法也是有的,这里就介绍啦)

在这里,我们添加管理员用户,即可访问!

4.3 添加管理员用户

  1. 添加用户 admin,密码 adminrabbitmqctl add_user admin admin
    (# rabbitmqctl add_user ${账号} ${密码})
    其中,这个 rabbitmqctl ,RabbitMQ 客户端操作,相当于 MySQL 的客户端,通过命令行来操作~
  2. 给用户添加权限rabbitmqctl set_user_tags admin administrator
    (#rabbitmqctl set_user_tags ${账号} ${角色名称})

在这里插入图片描述

有以下角色可以选择

RabbitMQ 用户角色有六种,分为 Administrator、Monitoring、Policymaker、Management、
Impersonator、None

  • Administrator超级管理员,可登陆管理控制台(启用management plugin的情况下),可查看所
    有的信息,并且可以对用户,策略 (policy) 进行操作(简单理解就是所有权限);
  • Monitoring监控者,可登陆管理控制台(启用 management plugin的情况下),同时可以查看
    RabbitMQ 节点的相关信息(如进程数,内存使用情况,磁盘使用情况等);
  • Policymaker策略制定者,可登陆管理控制台(启用management plugin的情况下),同时可以对
    policy 进行管理,但无法查看节点的相关信息;
  • Management普通管理者,仅可登陆管理控制台(启用 management plugin的情况下),无法看到
    节点信息,也无法对策略进行管理;
  • Impersonator模拟者,无法登录管理控制台;
  • None其他用户,无法登陆管理控制台,通常就是普通的生产者和消费者。

用户名和密码输入 admin,即可进入 RabbitMQ 管理界面:

在这里插入图片描述
点击登录后,界面如下:

在这里插入图片描述
在这里插入图片描述

可以看到,这里的管理界面是十分友好的,易于操作~

5. 如何操作 RabbitMQ

从上面分析,可以看到,操作 RabbitMQ 有如下 3 种方式:

  • 通过代码来操作(通过 Java 代码,建立连接,默认端口号 5672)
  • 通过管理界面来操作(默认端口号:15672)
  • 通过命令行来操作(rabbitmqctl)

【A】如何查看默认端口号?

【Q】从 Overview 的 Ports and contexts 可以看到默认的端口号

在这里插入图片描述


✨✨✨本期内容到此结束~

✨✨✨下期预告:RabbitMQ 相关术语,管理界面的基础操作以及编写第一个入门程序!✨✨✨


http://www.kler.cn/news/362840.html

相关文章:

  • C语言程序设计:现代设计方法习题笔记《chapter3》
  • excel将文本型数字转变为数值型数字
  • Redis实现全局ID生成器
  • 正版代理:UFS Explorer Professional Recovery,新版 Ver. 10.10 功能
  • 【宠物空气净化器选购指南】希喂、米家、IAM、352 、霍尼韦尔测评
  • 人工智能:开启未来生活与工作的新征程
  • react1816中的setState同步还是异步的深层分析
  • 【p2p、分布式,区块链笔记 Blockchain】truffle002 unleashed_rentable_nft 项目
  • 深入理解 IP 协议
  • 大物 真空中的静电场
  • 微前端之模块联邦架构
  • Linux 中 .bash_history、.bash_logout 等用户配置文件
  • Linux杀毒-KVRT
  • 黑马javaWeb笔记重点备份12:yml格式配置文件
  • visual studio设置修改文件字符集方法
  • MyBatis入门之一对多关联关系(示例)
  • 【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【DSP指令加速篇】
  • 【在Linux世界中追寻伟大的One Piece】Socket编程UDP
  • 智慧旅游平台开发微信小程序ssm+论文源码调试讲解
  • Java 开发——(上篇)从零开始搭建后端基础项目 Spring Boot 3 + MybatisPlus
  • Qt开发-----线程调度
  • Python异常检测- 单类支持向量机(One-Class SVM)
  • Could not find artifact cn.hutool:hutool-all:jar:8.1 in central 导入Hutool报错
  • 鸿蒙HarmonyOS NEXT 5.0开发(2)—— ArkUI布局组件
  • 【推导过程】常用连续分布的数学期望、方差、特征函数
  • 031_基于nodejs的旅游推荐网站