Centos7安装配置RabbitMQ

这篇具有很好参考价值的文章主要介绍了Centos7安装配置RabbitMQ。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 . 什么是RabbitMQ

在开始演示安装RabbitMQ前,小编决定先介绍一下前置知识,想看安装步骤的小伙伴可以直接跳过这个章节,本篇博客算是小编学习RabbitMQ的笔记,部分内容都是摘录的,如果有感兴趣的小伙伴可以私信小编,后续小编将会更新更多的关于RabbitMQ的知识,感兴趣的小伙伴可以点个订阅。

1. 什么是MQ

MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖MQ,不用依赖其他服务。
主要还是用来实现 流量消峰 , 应用解耦 ,异步处理 等系统优化方案。

2. RabbitMQ

RabbitMQ 是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑 RabbitMQ 是一个快递站,一个快递员帮你传递快件。RabbitMQ 与快递站的主要区别在于,它不处理快件而是接收,存储和转发消息数据,更多的详细内容可以参考官网 点击跳转。

3. RabbitMQ四大核心概念

生产者:产生数据发送消息的程序是生产者。
交换机:交换机是 RabbitMQ 非常重要的一个部件,一方面它接收来自生产者的消息,另一方面它将消息推送到队列中。交换机必须确切知道如何处理它接收到的消息,是将这些消息推送到特定队列还是推送到多个队列,亦或者是把消息丢弃,这个得有交换机类型决定。
队列:队列是 RabbitMQ 内部使用的一种数据结构,尽管消息流经 RabbitMQ 和应用程序,但它们只能存储在队列中。队列仅受主机的内存和磁盘限制的约束,本质上是一个大的消息缓冲区。许多生产者可以将消息发送到一个队列,许多消费者可以尝试从一个队列接收数据。这就是我们使用队列的方式。
消费者:消费与接收具有相似的含义。消费者大多时候是一个等待接收消息的程序。请注意生产者,消费者和消息中间件很多时候并不在同一机器上。同一个应用程序既可以是生产者又是可以是消费者。

4. 几种常见的MQ技术对比

RabbitMQ ActiveMQ RocketMQ Kafka
公司/社区 Rabbit Apache 阿里 Apache
开发语言 Erlang Java Java Scala&Java
协议支持 AMQP,XMPP,SMTP,STOMP OpenWire,STOMP,REST,XMPP,AMQP 自定义协议 自定义协议
可用性 一般
单机吞吐量 一般 非常高
消息延迟 微秒级 毫秒级 毫秒级 毫秒以内
消息可靠性 一般 一般

追求可用性:Kafka、 RocketMQ 、RabbitMQ
追求可靠性:RabbitMQ、RocketMQ
追求吞吐能力:RocketMQ、Kafka
追求消息低延迟:RabbitMQ、Kafka

5. RabbitMQ基本结构

Centos7安装配置RabbitMQ
RabbitMQ中的一些角色:

  • publisher:生产者
  • consumer:消费者
  • exchange个:交换机,负责消息路由
  • queue:队列,存储消息
  • virtualHost:虚拟主机,隔离不同租户的exchange、queue、消息的隔离

二 . 安装RabbitMQ

环境准备,RabbitMQ是一个开源的遵循AMQP协议实现的基于Erlang语言编写,所以一会还要安装Erlang环境,下面是本篇博客演示采用的环境,其他版本的安装也是大同小异的。

VMware Workstation  16.2.1  // 虚拟机软件
CentOS-7-x86_64-Minimal-1708 //   这里采用的是Minimal版 没有图形化界面
erlang-21.3-1.el7.x86_64
rabbitmq-server-3.8.8-1.el7.noarch

首先RabbitMQ的版本需要和Erlang版本匹配才行,否则容易产生冲突,关于适配版本对照可以参考官方给出的信息,点击跳转。
Centos7安装配置RabbitMQ

1. 安装包准备

下载RabbitMQ安装包,可以在官网进行下载,选择对应版本下载后会得到.rpm文件 RabbitMQ下载
Centos7安装配置RabbitMQ
后面这个el8,代表是Centos8才能安装的,高版本的RabbitMQ有些不支持Centos7,但是本篇博客用来演示的是Centos7的系统环境,所以小编在这只能带大家安装低版本的RabbitMQ了
Centos7安装配置RabbitMQ

下载Erlang安装包可以在Erlang官网进行下载 点击跳转
Centos7安装配置RabbitMQ
当然细心的小编已经给各位小伙伴准备好了安装包,大家可以直接下载 点击下载

2. 上传安装包

将上面的安装包下载完毕后依次执行以下命令, /usr 目录下创建一个 rabbitmq 的文件夹用来存放安装包,再进入这个文件夹

mkdir -p /usr/rabbitmq
cd /usr/rabbitmq

将下载好的两个安装包上传到这个文件夹
Centos7安装配置RabbitMQ

3. 开始安装

执行以下命令解压安装erlang

rpm -ivh erlang-21.3-1.el7.x86_64.rpm

在RabiitMQ安装过程中需要依赖socat插件 再执行以下命令安装该插件

yum install socat -y

然后再执行以下命令解压安装RabbitMQ的安装包

rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm

Centos7安装配置RabbitMQ

三. 启动RabbitMQ

在进行完以上的步骤后,RabbitMQ就算是安装完成了,它会自动帮我们注册为系统服务,服务名就叫rabbitmq-server
可以执行以下命令来启动RabbitMQ的服务

systemctl start rabbitmq-server

再执行以下命令查看RabbitMQ的服务状态

systemctl status rabbitmq-server

可以看到RabbitMQ的正常运行的状态
Centos7安装配置RabbitMQ
最后建议执行以下命令将RabbitMQ的服务设置为开启自启动

systemctl enable rabbitmq-server

四. 配置Web管理界面

默认情况下,rabbitmq没有安装web端的客户端软件,需要安装才可以生效。
可以执行以下命令安装远程的Web管理界面

rabbitmq-plugins enable rabbitmq_management

要想远程访问web管理界面还需要开放防火墙的 5672 和 15672两个端口,可以依次执行下面两条命令开放,最后再重启一下防火墙,使配合生效。

// 开放5672端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent 
// 开放15672端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent 
// 重启防火墙
firewall-cmd --reload 

然后我们就可以直接通过 主机地址:15672 就可以访问远程的web管理界面
Centos7安装配置RabbitMQ
这时还是没办法进行登陆的,即使使用默认的用户和密码也无法登陆,可以执行以下流程实现登陆。
创建账号: 用户名为admin 密码为 123 各位用户朋友可以自定义

rabbitmqctl add_user admin 123

设置用户角色:

rabbitmqctl set_user_tags admin administrator

设置用户权限:用户 user_admin 具有/vhost1 这个 virtual host 中所有资源的配置、写、读权限,相当于超级管理员权限。

rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

完成后我们就可以用 账号: admin 密码: 123 进行登陆。
Centos7安装配置RabbitMQ
也可以在/etc/rabbitmq目录下编辑rabbitmq.config配置文件,达到默认用户登陆。

五. 常用命令

到这里咋们的安装配置已经接近尾声了,最后小编给大家准备了一些常用的命令,如果觉得小编贴心的话不要忘记给小编点个赞点个关注,感谢各位读者朋友的阅读,如果有问题或者有遗漏的地方各位读者朋友可以在评论区提出。文章来源地址https://www.toymoban.com/news/detail-424337.html

rabbitmqctl list_users  // 列出当前系统的用户
rabbitmqctl list_user_permissions [用户名] // 查看用户权限
rabbitmqctl delete_user [用户名] // 删除用户
rabbitmqctl change_password [用户名] [密码] // 修改用户密码
rabbitmq-plugins enable rabbitmq_management  // 开启web远程管理界面
rabbitmq-plugins disable rabbitmq_management // 关闭web远程管理界面
systemctl start rabbitmq-server // 启动rabbitmq-server服务
systemctl stop rabbitmq-server  // 停止rabbitmq-server服务
systemctl restart rabbitmq-server // 重启rabbitmq-server服务
systemctl reload rabbitmq-server // 重载rabbitmq-server服务 (推荐使用)
systemctl status rabbitmq-server  // 查看rabbitmq-server状态
systemctl enable rabbitmq-server // 设置为开机启动rabbitmq-server服务

到了这里,关于Centos7安装配置RabbitMQ的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos7下安装RabbitMQ教程

    看我这个文章安装如果不会,你顺着网线来揍我,不能说最简单,我的是超级简单!!! 一、做准备(我是在vm虚拟机上的Centos7镜像上安装的)     1、安装rabbitmq得准备他的安装包(rabbitmq-server-3.8.5-1.el7.noarch)        下载地址mq              2、还得准备erlang语言(er

    2024年02月07日
    浏览(47)
  • centos7安装erlang及rabbitMQ

    第一:自己的系统版本,centos中uname -a指令可以查看,el8,el7,rabbitMQ的包不一样! 第二:根据rabbitMQ中erlang version找到想要下载rabbitMQ对应erlang版本,地址地=:https://www.rabbitmq.com/which-erlang.html 下载地址 erlang下载: https://www.erlang.org/ RabbitMQ下载: https://github.com/rabbitmq/rabbitmq

    2024年02月12日
    浏览(49)
  • Centos7安装RabbitMQ与使用(超详细)

    第一步、安装任何软件包之前,建议使用以下命令更新软件包和存储库 第二步、Erlang在默认的YUM存储库中不可用,因此您将需要安装EPEL存储库 也可以去Erlang官网下载Erlang存储库https://packagecloud.io/rabbitmq/erlang?page=1,将下载好的rpm包防至Centos上 第三步、RabbitMQ是基于Erlang(面向

    2024年02月13日
    浏览(47)
  • 在CentOS7上使用Docker安装和部署RabbitMQ

    首先,使用Docker命令从Docker Hub拉取RabbitMQ官方镜像。打开终端并运行以下命令: 一旦镜像下载完成,使用以下命令创建RabbitMQ容器: -d:这个选项告诉Docker在后台运行容器。 –hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名

    2024年02月10日
    浏览(49)
  • 手把手教你安装RabbitMQ(基于CentOS7系统)

    RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 可靠性 灵活的路由 消息集群 高可用 插件机制 多种协议 多语言客户端 管理界面 跟踪机制 先安装一些必要的依赖

    2023年04月08日
    浏览(48)
  • centos7安装erlang23.3.4.11及rabbitmq3.9.16版本

    rpm包有系统版本要求,el是Red Hat Enterprise Linux(EL)的缩写。 EL7是Red Hat 7.x,Centos 7.x EL8是Red Hat 8.x, Centos 8.x 所以我们在安装erlang及rabbitmq时需要选择与自己的服务器相对应的rpm包 # rabbitmq的rpm安装包 https://github.com/rabbitmq/rabbitmq-server/releases?page=10 # erlang的rpm安装包 https://github.com/

    2024年02月07日
    浏览(42)
  • Centos7安装RabbitMQ与使用(超详细),21年大数据开发面经分享

    public static void main(String[] args) throws Exception{ Connection connection = RabbitMQUtils.getConnection(); Channel channel = connection.createChannel(); /** * 为了保险起见,防止生产方未启动队列未创建的情况下消费方启动后报404异常,最好在消费方中也声明创建队列,注意消费方和生产方声明的队列必须

    2024年04月16日
    浏览(51)
  • Centos7安装配置Tomcat

    本篇博客将演示 如何在linux环境下安装tomcat 和 介绍一些tomcat的知识,以及将tomcat配置成系统服务,来实现开机自启动等一系列功能,后续专栏将持续更新相关知识,期待的小伙伴不妨给小编点个关注,感谢! 环境介绍 本篇博客采用以下环境进行演示,要进行tomcat的使用,系统中一定要

    2024年02月01日
    浏览(50)
  • Centos7安装配置Hive

    Centos7安装配置 安装就不多做详述,选择好自己的镜像设置好路径即可 2.1 网络配置 桌面右键进入 cmd 命令编辑窗口,在 Linux 中设置网络的相关配置都需要管理员权限,需要先切换到 root 用户。 配静态 IP 地址的实例如下: 插入 IP 地址、掩码和网关。可以在 VMware 平台的菜单中通过

    2024年02月06日
    浏览(40)
  • CentOS7 下 Zookeeper 安装及配置

    官方地址:https://www.apache.org/dyn/closer.lua/zookeeper ZooKeeper 是一个开源的分布式协调服务,它提供了一个高性能的、可靠的分布式环境,用于协调和管理分布式应用程序的配置、状态和元数据信息。 ZooKeeper 旨在解决分布式系统中的一致性和协调问题。它提供了一个简单的文件系

    2024年02月02日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包