欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用

程序员文章站 2022-07-12 20:36:58
...

我们都知道,RabbitMQ 是目前非常热门的一款消息中间件,不管是互联网行业还是传统行业都在大量地使用。那么什么是消息?什么是消息中间件?这些专有名词都必须有了解。

 

一、消息中间件概述

1、消息 (Message) 是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串、JSON 等,也可以很复杂,比如内嵌对象。

2、消息中间件,全称叫消息队列中间件 (Message Queue Middleware,简称为 MQ) 是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。

3、消息传递模式:一般有两种传递模式:点对点(P2P, Point-to-Point) 模式和发布/订阅 (Pub/Sub) 模式。

点对点模式是基于队列的,消息生产者发送消息到队列,消息消费者从队列中接收消息,队列的存在使得消息的异步传输成为可能。
发布订阅模式定义了如何向一个内容节点发布和订阅消息,这个内容节点称为主题 (topic) ,主题可以认为是消息传递的中介,消息发布者将消息发布到某个topic,而消息订阅者则从这个topic中订阅消息。主题使得消息的订阅者与消息的发布者互相保持独立,不需要进行接触即可保证消息的传递,发布/订阅模式在消息的一对多广播时采用 。 

RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
 

4、为什么叫RabbitMQ?

RabbitMQ 是由 RabbitMQ Technologies Ltd 开发并且提供商业支持的 。 取 Rabbit 这样一个
名字,是因为兔子行动非常迅速且繁殖起来非常疯狂, RabbitMQ 的开创者认为以此命名这个分
布式软件再合适不过了 。

二、RabbitMQ的安装及使用
RabbitMQ是使用Erlang语言编写的,因此在安装RabbitMQ之前,需要安装Erlang。Erlang官网下载地址为:http://www.erlang.org/downloads/。我下载的版本是最新版本21.2。我把下载的压缩包放在了/opt/erlang目录下。

RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
 

1、解压安装包,并配置安装目录

①使用命令:tar xvf otp_src_21.2.tar.gz将下载的压缩包解压,解压后的目录为:otp_src_21.2。

RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
 

②在/opt/erlang/otp_src_21.2目录下,配置Erlang的安装目录,使用命令:./configure --prefix=/opt/erlang。


执行配置命令过程中,若出现No curses library functions found,则需要安装ncurses。

使用命令执行:yum install ncurses-devel ,遇到确认提示,输入y。安装ncurses完成后,重新执行配置命令。

RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
 

2、安装Erlang

①配置命令执行完成后,执行Erlang编译安装,执行make命令。

②执行完make后,执行make install。

 

3、修改/etc/profile文件,添加环境变量。

ERLANG_HOME=/opt/erlang
export PATH=$PATH:$ERLANG_HOME/bin
export ERLANG_HOME

RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件

4、添加完成后,让文件生效,执行source /etc/profile,并使用命令erl测试erlang是否安装成功。

RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
 

三、RabbitMQ的安装

安装完Erlang后,我们安装一下RabbitMQ。在RabbitMQ的官网:http://www.rabbitmq.com/releases/rabbitmq-server/

下载3.7.10版本。

 这里一定要注意与Erlang版本的对应关系,要不然会存在启动失败。我们下载的Erlang版本为21.2,因此使用的RabbitMQ版本为3.7.10。

RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
 

 

 

1、我们将RabbitMQ安装在于Erlang相同的目录下/opt,把压缩包移到该目录下。

2、解压缩:执行命令,因为下载的是.xz文件,因此需要分两步进行:

xz -d rabbitmq-server-generic-unix-3.7.10.tar.xz

tar xvf rabbitmq-server-generic-unix-3.7.10.tar

 

3、为了方便记忆,将解压后的rabbitmq_server-3.7.10改名为rabbitmq,执行命令:

mv rabbitmq_server-3.6.15 rabbitmq

4、配置环境变量:在/etc/profile文件中,增加刚安装的RabbitMQ的环境变量。

export PATH=$PATH:/opt/rabbitmq/sbin
export RABBITMQ_HOME=/opt/rabbitmq

5、执行source /etc/profile,使环境变量配置生效。

 

四、测试

安装完成后,需要测试是否安装成功。

在/opt/rabbitmq/sbin目录下,我们使用以下命令:

rabbitmq-server -detached 

 此命令是以守护进程的方式在后台启动rabbitmq,警告可以忽略。

[root@localhost sbin]# rabbitmq-server -detached
Warning: PID file not written; -detached was passed.

  启动完成后,测试是否正常启动,使用命令:rabbitmqctl status,出现以下信息,说明启动成功!

 

[root@localhost sbin]# rabbitmqctl status
Status of node rabbit@localhost ...
[{pid,11229},
 {running_applications,
     [{rabbit,"RabbitMQ","3.7.10"},
      {rabbit_common,
          "Modules shared by rabbitmq-server and rabbitmq-erlang-client",
          "3.7.10"},
      {ranch,"Socket acceptor pool for TCP protocols.","1.7.1"},
      {ssl,"Erlang/OTP SSL application","9.1"},
      {public_key,"Public key infrastructure","1.6.4"},
      {asn1,"The Erlang ASN1 compiler version 5.0.8","5.0.8"},
      {mnesia,"MNESIA  CXC 138 12","4.15.5"},
      {os_mon,"CPO  CXC 138 46","2.4.7"},
      {xmerl,"XML parser","1.3.18"},
      {inets,"INETS  CXC 138 49","7.0.3"},
      {crypto,"CRYPTO","4.4"},
      {recon,"Diagnostic tools for production use","2.3.6"},
      {jsx,"a streaming, evented json parsing toolkit","2.9.0"},
      {lager,"Erlang logging framework","3.6.5"},
      {goldrush,"Erlang event stream processor","0.1.9"},
      {compiler,"ERTS  CXC 138 10","7.3"},
      {syntax_tools,"Syntax tools","2.1.6"},
      {sasl,"SASL  CXC 138 11","3.3"},

 


 

 

  • RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
  • 大小: 145 KB
  • RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
  • 大小: 5.5 KB
  • RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
  • 大小: 35.5 KB
  • RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
  • 大小: 12.1 KB
  • RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
  • 大小: 3.6 KB
  • RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
  • 大小: 11.6 KB
  • RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用
            
    
    博客分类: RabbitMQ rabbitMQRabbitMQ消息中间件消息中间件
  • 大小: 45.6 KB