Skip to content

RabbitMQ简介及安装

1.RabbitMQ概述

官网https://www.rabbitmq.com/

基本介绍

  1. RabbitMQ 是一个流行的开源消息中间件,它实现了高级消息队列协议(AMQP),为 分布式应用程序提供了可靠的、异步的消息传递机制。
  2. RabbitMQ 可以在多个进程、多个主机之间传递消息,因此它经常用于解耦分布式应 用程序中的各个组件,或者实现任务队列和日志收集等应用场景
  3. RabbitMQ 的核心概念是生产者、消费者和队列。
    • 生产者将消息发布到队列中
    • 消费者从队列中获取消息并进行处理
    • RabbitMQ 的优点包括可靠性、灵活性和可扩展性。它使用消息确认机制确保消息能够成功传递,同时提供多种交换机类型和绑定方式,以支持不同的消息路由场景
    • RabbitMQ 可以满足高负载、高可用性和可扩展性的要求
  4. RabbitMQ 提供了丰富的客户端库,包括 Java、Python、Ruby、C# 等,这些库可以 方便地集成到各种编程语言和框架中,以实现高效的消息传递。因此,RabbitMQ 在大规 模分布式系统中得到了广泛的应用

2.Linux 安装 RabbitMQ

2.1 下载地址

https://www.rabbitmq.com/download.html

image-20230228221318836

2.2 环境准备

CentOS7.x+ / Erlang

RabbitMQ是采用Erlang语言开发的,所以系统环境必须提供Erlang环境,第一步就是安装Erlang。

erlang和RabbitMQ版本的按照比较: https://www.rabbitmq.com/which-erlang.html

image-20230228221243768

2.3安装RabbitMQ

  1. 上传前面下载的erlang和rabbitmq的安装包到opt目录

image-20230228221631451

  1. 执行命名进行安装

rabbitmq 需要 erlang 环境

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

image-20230228221727477

rabbitmq 需要的依赖包, 需要联网

shell
yum install socat -y

image-20230228221911016

安装 rabbitmq

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

image-20230228221934910

  1. 配置和启动命令

添加开机启动 RabbitMQ 服务

shell
chkconfig rabbitmq-server on

启动rabbitMQ服务

shell
/sbin/service rabbitmq-server start

查看服务状态

shell
/sbin/service rabbitmq-server status

image-20230228222114130

关闭rabbitMQ服务

shell
/sbin/service rabbitmq-server stop

开启 web 管理插件

shell
rabbitmq-plugins enable rabbitmq_management

image-20230228222510885

如果执行出现 timeout, 说明你安装失败了需要我们进行如下配置

解决办法

  • 首先查看hostname,输入命令:hostnamectl

image-20230228222722686

  • 修改/etc/hosts,输入命令:vi /ect/hosts修改成本机的ip

image-20230228222846066

  • 在/opt目录下重写执行安装插件指令rabbitmq-plugins enable rabbitmq_management即可

3.RabbitMQ 管控台基本操作

3.1配置登录到管控台

  1. 配置防火墙, 开放 15672 端口(web 管控台访问端口), 否则外网无法访问
  • 防火墙开启端口访问
shell
firewall-cmd --zone=public --add-port=15672/tcp --permanent
  • 开启后需要重启防火墙才生效
shell
firewall-cmd --reload
  • 执行 firewall-cmd --list-ports 查看端口
  1. 用默认账号密码(guest)访问地址 http://192.168.79.202:15672 , 出现权限问题

image-20230228223552721

  1. 配置 RabbitMQ, 让 guest 用户可以远程登录

在/etc/rabbitmq 目录下创建 rabbitmq.config

shell
cd /etc/rabbitmq/
 
 vim rabbitmq.config
 
#在文件中填写内容
[{rabbit,[{loopback_users,[]}]}].
  1. 重启RabbitMQ

image-20230228225007475

  1. 在使用guest用户登录

image-20230228225046364

3.2管控台简介

  • 管控台常用功能说明

image-20230228225158107

image-20230228225219103

  • 添加用户

image-20230228225355895

image-20230228225442017

image-20230228225500863

image-20230228225537846

  • 添加虚拟主机

image-20230228225559260

image-20230228225656856

image-20230228225808604

image-20230228225820028