RabbitMQ简介及安装
1.RabbitMQ概述
基本介绍
- RabbitMQ 是一个流行的开源消息中间件,它实现了高级消息队列协议(AMQP),为 分布式应用程序提供了可靠的、异步的消息传递机制。
- RabbitMQ 可以在多个进程、多个主机之间传递消息,因此它经常用于解耦分布式应 用程序中的各个组件,或者实现任务队列和日志收集等应用场景
- RabbitMQ 的核心概念是生产者、消费者和队列。
- 生产者将消息发布到队列中
- 消费者从队列中获取消息并进行处理
- RabbitMQ 的优点包括可靠性、灵活性和可扩展性。它使用消息确认机制确保消息能够成功传递,同时提供多种交换机类型和绑定方式,以支持不同的消息路由场景
- RabbitMQ 可以满足高负载、高可用性和可扩展性的要求
- RabbitMQ 提供了丰富的客户端库,包括 Java、Python、Ruby、C# 等,这些库可以 方便地集成到各种编程语言和框架中,以实现高效的消息传递。因此,RabbitMQ 在大规 模分布式系统中得到了广泛的应用
2.Linux 安装 RabbitMQ
2.1 下载地址
https://www.rabbitmq.com/download.html
2.2 环境准备
CentOS7.x+ / Erlang
RabbitMQ是采用Erlang语言开发的,所以系统环境必须提供Erlang环境,第一步就是安装Erlang。
erlang和RabbitMQ版本的按照比较: https://www.rabbitmq.com/which-erlang.html
2.3安装RabbitMQ
- 上传前面下载的erlang和rabbitmq的安装包到opt目录
- 执行命名进行安装
rabbitmq 需要 erlang 环境
shell
rpm -ivh erlang-21.3-1.el7.x86_64.rpm
rabbitmq 需要的依赖包, 需要联网
shell
yum install socat -y
安装 rabbitmq
shell
rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm
- 配置和启动命令
添加开机启动 RabbitMQ 服务
shell
chkconfig rabbitmq-server on
启动rabbitMQ服务
shell
/sbin/service rabbitmq-server start
查看服务状态
shell
/sbin/service rabbitmq-server status
关闭rabbitMQ服务
shell
/sbin/service rabbitmq-server stop
开启 web 管理插件
shell
rabbitmq-plugins enable rabbitmq_management
如果执行出现 timeout, 说明你安装失败了需要我们进行如下配置
解决办法
- 首先查看hostname,输入命令:hostnamectl
- 修改
/etc/hosts
,输入命令:vi /ect/hosts修改成本机的ip
- 在/opt目录下重写执行安装插件指令
rabbitmq-plugins enable rabbitmq_management
即可
3.RabbitMQ 管控台基本操作
3.1配置登录到管控台
- 配置防火墙, 开放 15672 端口(web 管控台访问端口), 否则外网无法访问
- 防火墙开启端口访问
shell
firewall-cmd --zone=public --add-port=15672/tcp --permanent
- 开启后需要重启防火墙才生效
shell
firewall-cmd --reload
- 执行 firewall-cmd --list-ports 查看端口
- 用默认账号密码(guest)访问地址
http://192.168.79.202:15672
, 出现权限问题
- 配置 RabbitMQ, 让 guest 用户可以远程登录
在/etc/rabbitmq 目录下创建 rabbitmq.config
shell
cd /etc/rabbitmq/
vim rabbitmq.config
#在文件中填写内容
[{rabbit,[{loopback_users,[]}]}].
- 重启RabbitMQ
- 在使用guest用户登录
3.2管控台简介
- 管控台常用功能说明
- 添加用户
- 添加虚拟主机