RabbitMQ实战(一)之搭建

简介: RabbitMQ3.8.3在Centos7以及Windos上搭建

1.RabbitMQ windows 安装
2.RabbitMq Linux Centos 7 安装及操作密令
3.遇到的问题

windows 安装

  • Download:
    Windows Rabbit-Server-3.8.3:官方下载地址,如果官方的下载地址打不开或者下载很慢的话,可是尝试:点我直接下载
  • 安装并修改启动方式
    windows安装只要双击exe文件,然后选择保存地址,即可安装完成。安装完成后,windods上默认启用rabbit-management plugin,通过ip:15672访问Web管理页面,使用拥有管理员角色的默认账号guest,密码也是guest,即可成功安装。

这里要说的是,平常在windows电脑这个Rabbit进程可能不需要每天运行着,可以通过windows的本地服务修改Rabbit进程为手动启动,只有在使用的时候,才打开运行它,不至于拖慢PC运行速度。

  • 如果要使用rabbitmqctl的命令,在安装的根目录找到sbin文件,在当前文件下运行cmd或PowerShell。(不过有管理页面何不偷偷懒)

Centos 7 安装

  • Download
    在Centos上安装需要安装三个程序:Erlang,socat,rabbit-server,我使用的都是npm的安装包,并没有使用源码进行编译安装(方便快捷不易出错)

因为RabbitMQ-Server的版本要与Erlang的版本对应,从版本对照表中,我选择的是:RabbitMQ-Server-3.8.3Erlang-22.x

  • 方式一
    先下载npm包再使用rz上传
  • Centos 6:

Centos6-Erlang-22.2.8 npm

RabbitMQ-Server-3.8.3 npm

  • Centos 7:

Centos7-Erlang-22.2.8 npm

RabbitMQ-Server-3.8.3 npm

  • Centos 8:

Centos8-Erlang-22.2.8 npm

RabbitMQ-Server-3.8.3 npm

再使用rz密令上传到服务器指定的文件下。

但推荐下面一步到位的方式

  • 方式二 使用 wget 神器直接下载到服务器:

wget

-c:断点续传

-b:后台下载

tail -f wget-log 查看当前下载任务的进度

在需要保存npm包的文件下运行

  • Centos 6:

    Erlang: wget https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/6/x86_64/erlang-22.2.8-1.el6.x86_64.rpm -b -c ./
    RabbitMQ-Server:wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-3.8.3-1.el6.noarch.rpm -b -c ./
  • Centos 7:

    Erlang: wget https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/7/x86_64/erlang-22.2.8-1.el7.x86_64.rpm -b -c ./
    RabbitMQ-Server: wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-3.8.3-1.el7.noarch.rpm -b -c ./
  • Centos 8:

    Erlang: wget: https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/7/x86_64/erlang-22.2.8-1.el8.x86_64.rpm -b -c ./
    RabbitMQ-Server: wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-3.8.3-1.el8.noarch.rpm -b -c ./
    

下载完成后文件下安装包:
rpm

  • 安装
  • 使用rpm -ivh命令

rpm -ivh erlang-22.2.8-1.el7.x86_64.rpm
查看Erlang 安装是否成功:erl -Version
erlang_version

如果马上运行 rpm -ivh rabbitmq-server-3.8.3-1.el7.noarch.rpm会出现缺少socat 错误
rabbit_server_error

so,运行yum install -y socat,先安装依赖;
rpm_socat

再运行rpm -ivh rabbitmq-server-3.8.3-1.el7.noarch.rpm
两条百分百的进度条表示安装成功
rpm_rabbit_server

  • 启用管理页面以及常用的命令
    在Centos上对RabbitMQ-Server的所有操作都能用rabbitmqctl命令完成,就类似于systemctl
  • 启用management plugin:
    rabbitmq-plugins enable rabbitmq_management

enable_rabbitmq_management_plugins

  • 启动Server:
    rabbitmqctl start_app,通过ip:15672访问管理页面,使用默认的管理员角色的账户和密码guest登录,
  • 停止Server
    rabbitmqctl stop_app,这种停止只会停止rabbit-server的进程,Erlang VM 不会停止,而rabbitmqctl shutdown rabbitmq-server和Erlang VM都会停止。
  • 用户相关操作的命令(当使用管理员登录web管理平台时,web页面上同样可以操作)
  • rabbitmqctl add_user username password: 增加用户
  • rabbitmqctl set_user_tags username 角色: 为用户设置角色
  • rabbitmqctl delete_user username: 删除用户
  • rabbitmqctl user_list :当前用户列表以及用户对应的角色列表
    还有其他Queues、Exchanges、Bindings的操作指令,建议使用Web管理页面或者程序操控,以及更多的命令通过rabbitmqctl -h查看。而集群的命令以及搭建且听我下次分解。

系列问题

  • 端口未开放,无法访问web端
  • 开放15672以及5672端口
    firewall-cmd --zone=public --add-port=15672/tcp --permanent

firewall_cmd_add_port

  • 重启防火墙:
    firewall-cmd --reload

firewall_cmd_reload

我是IT界的一名小学生,如果文中有错误的地方,欢迎各位同仁指正。也欢迎大家评论方留言大家一起交流学习

欢迎订阅我的公众号,及时获取最新的更新
UToBetter

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
2月前
|
消息中间件 RocketMQ 微服务
RocketMQ 分布式事务消息实战指南
RocketMQ 分布式事务消息实战指南
222 1
|
2月前
|
消息中间件 存储 监控
搭建消息时光机:深入探究RabbitMQ_recent_history_exchange在Spring Boot中的应用【RabbitMQ实战 二】
搭建消息时光机:深入探究RabbitMQ_recent_history_exchange在Spring Boot中的应用【RabbitMQ实战 二】
32 1
|
6月前
|
消息中间件 存储 网络协议
企业实战(11)消息队列之Docker安装部署RabbitMQ实战
企业实战(11)消息队列之Docker安装部署RabbitMQ实战
115 0
|
7月前
|
物联网 Java Linux
一文读懂物联网 MQTT 协议之实战篇
一文读懂物联网 MQTT 协议之实战篇
211 1
|
2月前
|
消息中间件 监控 Java
Spring Boot中的RabbitMQ死信队列魔法:从异常到延迟,一网打尽【RabbitMQ实战 一】
Spring Boot中的RabbitMQ死信队列魔法:从异常到延迟,一网打尽【RabbitMQ实战 一】
56 0
|
18天前
|
消息中间件 存储 安全
【深入浅出RocketMQ原理及实战】「底层原理挖掘系列」透彻剖析贯穿RocketMQ的消息顺序消费和并发消费机制体系的原理分析
【深入浅出RocketMQ原理及实战】「底层原理挖掘系列」透彻剖析贯穿RocketMQ的消息顺序消费和并发消费机制体系的原理分析
25 0
|
7月前
|
消息中间件 存储 网络协议
从原理到实战,手把手教你在项目中使用RabbitMQ
RabbitMQ 的文章之前写过,但是当时给的示例是 Demo 版的,这篇文章主要是结合之前写的理论知识,将 RabbitMQ 集成到技术派项目中。 话不多说,上文章目录: 下面我们先回顾一下理论知识,如果对这块知识已经清楚的同学,可以直接跳到实战部分。 1. 消息队列 1.1 消息队列模式 消息队列目前主要 2 种模式,分别为“点对点模式”和“发布/订阅模式”。 点对点模式 一个具体的消息只能由一个消费者消费,多个生产者可以向同一个消息队列发送消息,但是一个消息在被一个消息者处理的时候,这个消息在队列上会被锁住或者被移除并且其他消费者无法处理该消息。 需要额外注意的是,如果消费者
443 5
|
18天前
|
消息中间件 存储 Kafka
【深入浅出 RocketMQ原理及实战】「底层源码挖掘系列」透彻剖析贯穿一下RocketMQ和Kafka索引设计原理和方案
【深入浅出 RocketMQ原理及实战】「底层源码挖掘系列」透彻剖析贯穿一下RocketMQ和Kafka索引设计原理和方案
42 1
|
1月前
|
消息中间件 前端开发 算法
【十七】RabbitMQ基础篇(延迟队列和死信队列实战)
【十七】RabbitMQ基础篇(延迟队列和死信队列实战)
37 1
|
1月前
|
消息中间件
动力RabbitMQ实战视频教程
动力RabbitMQ实战视频教程
19 3
动力RabbitMQ实战视频教程