RabbitMQ安装、端口修改、简单的角色介绍

news2024/11/24 6:08:41

前提

本文介绍RabbitMQ安装的环境是CentOS7版本的Linux云服务器。
官网:https://www.rabbitmq.com/

RabbitMQ的安装

由于RabbitMQ是使用Erlang语言开发的,所以我们在安装RabbitMQ之前需要在服务器中安装Erlang语言的环境。在Linux中执行下面命令:

yum install -y epecurl -s 
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

在执行完上面语句后,我们就可以安装RabbitMQ了,也是比较简单的执行命令:

yum install rabbitmq-server

最后使用下面这个命令启动RabbitMQ,

systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service

最后用下面这条命令,检查RabbitMQ的执行状态

systemctl status rabbitmq-server.service

当Active状态为active(running)的时候说明成功了,可以参考下图:
在这里插入图片描述

需要注意的是,使用命令“systemctl enable rabbitmq-server.service”就意味着,服务器系统重启的时候会自动启动RabbitMQ。
如果不想这样,就跳过这一句即可,这样你在关闭与服务器的会话的时候,RabbitMQ的服务自己就会被关闭了

RabbitMQ管理界面的启用

在安装RabbitMQ后,我们还需要启动一个可视化的管理服务,以便于我们后续在浏览器中能访问并管理RabbitMQ
只需要执行下面的命令就可以开启了

rabbitmq-plugins enable rabbitmq_managemen

开启后重启一下服务

systemctl restart rabbitmq-server

管理服务界面的预览图将在下面修改端口介绍后进行查看

RabbitMQ端口号意义说明

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

修改RabbitMQ端口

问题:为什么要修改端口?

回答:在云服务器中,当我们需要开发某个端口时,需要到控制台的防火墙(腾讯云)或者安全组(阿里云)中去进行开放,但是开放就意为着,所有人都可以对你这个端口进行访问(前提是他们知道你这个端口开发的情况下),但是这时候就会遇到一个问题,像我们这些知名的端口号例如3306、6379、5672、8080端口等,都是被大部分人所知道的,不法分子只要拿着你的ip:端口的方式就能访问到服务,所以就会有一个不安全的情况出现,比如说,不法分子顺着你的端口摸到你服务器里面去搞破坏,这样你的服务器可能就要面临重载(我身边的朋友都遇到了),所以我们必须修改了端口号再放出去,虽然也有风险,但是起码较为更安全了,所以修改端口非常有必要!!!

如果要修改RabbitMQ的服务端口,那么我们需要到 /etc/rabbitmq目录下找到 rabbitmq.config,如下图所示:
在这里插入图片描述
在开始修改前,我们先对这个文件进行备份,防止出现问题后,没办法恢复配置文件了,执行下面命令对该文件进行一个复制备份:

cp rabbitmq.config rabbitmq.config.default

使用vim编辑器打开rebbitmq.config,效果如图所示:
在这里插入图片描述
打开后,我们可以发现有许多东西都是注释状态的,所以删掉是没有关系的,需要注意的是:里面的配置文件数据格式是JSON格式的,所以我们在后面修改端口的时候也要格外的注意。

接下来就把里面的内容全部删除掉就好了,直接粘贴上下面的这些配置信息,粘贴完后记得检测一下!!!

[
{
    rabbit,
        [{
            tcp_listeners,[{"0.0.0.0",端口号}]
		}]

},
{
    rabbitmq_management,
        [{
          listener,
                  [
                  {port,端口号},
                  {ip,"0.0.0.0"},
                  {ssl,false}
                  ]
		}]

}].

tcp_listeners是RabbitMQ的服务启动端口
listener是RabbitMQ的管理服务界面的启动端口

这样就修改完成了,接下了就是重新启动服务的问题了,执行命令

systemctl restart rabbitmq-server.service

检测是否启动成功:

systemctl status rabbitmq-server.service

出现Running就说明成功了

访问RabbitMQ管理服务页面

通过 IP:管理服务端口号来对管理页面进行访问,成功会出现下面这个登录页面:在这里插入图片描述

默认账号和密码都是:guest

登录出现下面这个页面说明登录成功了
在这里插入图片描述

RabbitMQ中五种的角色

我们可以在RabbitMQ里面有五种不同的角色,如下:
none

不能访问management plugin

management

  • 列出自己可以通过AMQP登入的虚拟机
  • 查看自己的虚拟机节点 virtual hosts的queues,exchanges和bindings- 信息
  • 查看和关闭自己的channels和connections
  • 查看有关自己的虚拟机节点virtual hosts的统计信息。包括其他用户在这个节点virtual hosts中的活动信息。

Policymaker

  • 列出自己可以通过AMQP登入的虚拟机
  • 查看自己的虚拟机节点 virtual hosts的queues,exchanges和bindings信息
  • 查看和关闭自己的channels和connections
  • 查看有关自己的虚拟机节点virtual hosts的统计信息。包括其他用户在这个节点virtual hosts中的活动信息。

Monitoring

  • 列出自己可以通过AMQP登入的虚拟机
  • 查看自己的虚拟机节点 virtual hosts的queues,exchanges和bindings信息
  • 查看和关闭自己的channels和connections
  • 查看有关自己的虚拟机节点virtual hosts的统计信息。包括其他用户在这个节点virtual hosts中的活动信息。

Administrator

  • 最高权限
  • 可以创建和删除virtual hosts
  • 可以查看,创建和删除users
  • 查看创建permisssions
  • 关闭所有用户的connections

添加管理用户角色命令:

rabbitmqctl add_user 账号 密码
rabbitmqctl set_user_tags 账号 administrator
rabbitmqctl change_password Username Newpassword 修改密码
rabbitmqctl delete_user Username 删除用户 
rabbitmqctl list_users 查看用户清单
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*" 为用户设置administrator角色
rabbitmqctl set_permissions -p / root ".*" ".*" ".*"
**感谢阅读**

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

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

相关文章

Day_43插入排序

目录 一. 关于插入排序 1. 排序的定义 2. 插入排序 二. 插入排序的实现过程 三. 代码实现过程 1. 插入排序核心代码 四. 代码展示 五. 数据测试 六. 总结 一. 关于插入排序 1. 排序的定义 排序,就是重新排列表中的元素,使表中的元素满足按关键字有序…

AIGC与AidLux互联应用——AidLux端AIGC测评(二)PC端云端Stable Diffusion模型推理应用(文生图,图生图)

在这里插入图片描述 Stable Diffusion模型搭建首先下载diffusers,然后安装,命令如下: git clone https://github.com/huggingface/diffusers.git pip install diffusers cd diffusers pip install . ubuntu和win系统下都可以 文生图&#x…

React Hooks 组件化开发(常用)

本文章视频地址:视频链接 一、React组件分类 二、Hook函数概览 Hook 是 React 16.8 的新增特性!并且只能运用到函数组件中! 1.useState 作用:在函数组件中使用状态,修改状态值可让函数组件更新,类似于类…

鸿蒙初识

学习官网:https://www.harmonyos.com/cn/develop 准备 注册,安装软件(node:12, DevEco Studio): 在实际开发中node最好使用nvm进行版本管理。 https://developer.harmonyos.com/cn/docs/documentation/doc-guides/software_install-00000010…

ChatGPT-Plugins-Searchable

ChatGPT Plus 用户应该都知道Plus已经开放了插件功能,但是在插件商店里存在一个较大的问题插件数量超过100款,却没有便捷的搜索功能。 而我们在查找一款插件时,需要从插件商店的第一页点击到最后一页一个个找,显然这非常的麻烦。 …

驱动开发--驱动模块

目录 1.驱动模块 hello.c Makefile 2.内核中的打印函数(编写第一个驱动程序) Source Insight 使用: 3.打印函数编写 分析 4、驱动的多文件编译 5、模块传递参数 6、安装好驱动之后如何传参? 7、字符设备驱动 8、字符设…

chatgpt赋能python:Python如何突破VIP限制

Python如何突破VIP限制 在这个数字内容时代,我们经常使用各种网站和应用程序来获取视频、音乐、软件等数字资源。但是,某些资源可能受到VIP限制,这意味着我们需要付费才能获得完整的访问权限。但是,如果你了解Python编程&#xf…

Agile | 聊聊敏捷开发

什么是敏捷开发 敏捷开发是一种迭代和增量的项目管理方法,优先考虑适应性、协作和快速交付,而不是遵循严格的计划[0]。它是在《敏捷软件开发宣言》和《12项原则》中表达的一组价值观和原则[1]。敏捷是基于这些价值观和原则的一组框架和实践的总称。敏捷…

【数据库】修改数据库密码及端口

一、修改MySQL配置文件 想要在没有密码的状态下修改MySQL的密码,必须跳过MySQL登录时的登录密码权限的验证,取消掉这个验证的方式如下: 1、找到MySQL的安装文件中的my.ini文件 一般人应该能找到的吧,配置MySQL的环境变量中也有安…

关于数据中心机房动环监控系统的应用与设计 安科瑞 许敏

摘 要: 机房动力和环境监控系统是对分布的精密机房及通信局(站)内的电源、空调、油机、蓄电池、高低压配电等多种设备和环境的各种参数、图像、声音等进行遥测、并对设备进行集中监控、集中维护和集中管理,是现代化机房管理手段和…

【Leetcode -138.复制带随机指针的链表 -2130.链表最大孪生和】

Leetcode Leetcode -138.复制带随机指针的链表Leetcode -2130.链表最大孪生和 Leetcode -138.复制带随机指针的链表 题目:给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构…

chatgpt赋能python:Python如何设置画笔颜色

Python如何设置画笔颜色 在Python中,有很多库可以用来画图,比如常用的Matplotlib、Seaborn和Plotly等等,但无论是哪种库,设置画笔颜色都是非常基础且重要的操作,因为它可以让我们更好地展示数据图表,突出重…

【TCP/IP】基于UDP的服务器端/客户端实现 II - 实践与实现

基于UDP的回声服务器端/客户端 结合之前基于TCP实现的回声服务器&#xff0c;我们尝试再用UDP来完成对回声服务器/客户端的设计。 echo_server: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa…

内蒙古自治区关于加快充换电基础设施建规划 安科瑞 许敏

摘要&#xff1a;为深入贯彻落实《国务院办公厅关于印发新能源汽车产业发展规划&#xff08;2021—2035年&#xff09;的通知》&#xff08;国办发 ﹝2020﹞39号&#xff09;、《国家发展改革委等部门关于进一步提升电动汽车充电基础设施服务保障能力的实施意见》&#xff08;发…

异常值检验(t分布查表)、方差分析

异常值检验 T-test 参考&#xff1a;1.ttest和ttest2 区别 2. ttest在 matlab 3.T test分布表 单侧 方差分析&#xff08;ANOVA&#xff09; Def: 方差分析&#xff08;analysis of variance, ANOVA&#xff09;是一种统计检验&#xff0c;用于检验两组或更多组样本的均值是…

PRL:上海交大张文涛团队实现量子材料相关突破

来源&#xff1a;上海交通大学 近期&#xff0c;上海交通大学物理与天文学院张文涛研究组利用自行研制的高能量和高时间分辨率角分辨光电子能谱系统对量子材料1T-TiSe₂电子结构进行了超快激光操控研究。利用超快光激发与电荷密度波相有关的相干声子&#xff0c;引起晶格内原子…

高压放大器在微波光子雷达中的应用有哪些

微波光子雷达是一种新型的雷达技术&#xff0c;它利用微波和光子相结合的方式进行探测和成像。在微波光子雷达系统中&#xff0c;高压放大器作为一个关键的组件&#xff0c;主要用于对微波信号进行放大&#xff0c;以增强雷达系统的探测能力和成像精度。本文将详细介绍高压放大…

20230606夏新(Amoi)的4K显示器D320B2000的亮点检测

20230606夏新&#xff08;Amoi&#xff09;的4K显示器D320B2000的亮点检测 2023/6/7 0:14 https://item.jd.com/63690000655.html 夏新&#xff08;Amoi&#xff09;电脑显示器高清家用办公电竞吃鸡游戏液晶监控直播大屏便携显示屏幕 32英寸【直面 4k/144hz双模式 全面屏】黑 …

Linux内核文件写入流程

文本代码基于Linux 5.15 。 当用户层调用write 去做写入&#xff0c; linux 内核里面是如何处理的&#xff1f; 本文以exfat 为例&#xff0c; 讨论这个流程 入口函数 write 系统调用的定义如下&#xff1a; fs/read_write.c ssize_t ksys_write(unsigned int fd, const ch…

数据库期末复习(7.2)查询优化

查询优化的概述 商用数据库花了很多的资金投入到查询优化。 查询优化的分类 逻辑查询优化 物理查询优化 比逻辑查询计划多了怎么去执行的方式,为的是数据操作速度更快 逻辑查询优化的三种关键技术 在科学研究的道路上我们往往不是一帆风顺的,人的认识也是局限的,但是我…