RabbitMQ的安装以及介绍

RabbitMQ的安装以及介绍

     RabbitMQ是一个由erlang开发的基于AMQP(Advanced Message Queue Protocol )协议的开源实现。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面都非常的优秀。是当前最主流的消息中间件之一。

     一、安装

     1、下载并安装erlang

     1)由于RabbitMQ是基于erlang的,所以,在正式安装RabbitMQ之前,需要先安装一下erlang,下载地址:https://www.erlang.org/downloads

     2)修改环境变量path,增加Erlang变量至path,%ERLANG_HOME%\bin;

      

     3)检查是否安装成功

     打开cmd命令框,输入erl之后能出现eshell的版本说明安装成功

     

    2、下载并安装rabbitmq

     1)到官网https://www.rabbitmq.com下载即可,下载时注意elang与rabbitmq的版本要对应

     2)修改环境变量path,增加rabbitmq变量至path,%RABBITMQ_SERVER%\sbin

      

 

       二、启动

       打开cmd命令框,进入rabbitmq安装目录的sbin,开启rabbitmq控制台

       1、开启服务:

       rabbitmq-server.bat start

       2、开启RabbitMQ节点

       rabbitmqctl start_app

       3、开启RabbitMQ管理模块的插件

       rabbitmq-plugins enable rabbitmq_management

       4、任务管理器中重启rabbitmq服务

      

       输入localhost:15672即可进入管理界面 默认账号和密码都是guest

      

        5、进入控制台,查看rabbitmq服务器的状态

        rabbitmqctl status

       

     三、php中安装rabbitmq扩展

      1、下载rabbitmq扩展

      1)到http://pecl.php.net/package/amqp下载跟当前自己安装的php版本对应的扩展

      2)将下载下来的扩展包解压,首先把php_amqp.dll放到php中的ext文件夹中,然后在php.ini文件中加入这个扩展,加上这句extension=php_amqp.dll

      3)然后rabbitmq.4.dll放到php文件夹中,就是php.exe同一个目录下

      a. web服务器是apache

      然后在Apache中的配置文件httpd.conf中添加一段代码如下图:

       

       

      b. web服务器是nginx

     修改php.ini文件加入 extension=php_amqp.dll 

     4)检查扩展是否安装成功

     重启当前web服务器,apache或者nginx,我用的phpstudy集成环境,直接重新启动,然后在浏览器中打开localhost/phpinfo.php查看

 

三、rabbitmq中几个重要的概念

    1)概念

    Broker:简单来说就是消息队列服务器实体。

    Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。

    Queue:消息队列载体,每个消息都会被投入到一个或多个队列。

    Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。

    Routing Key:路由关键字,exchange根据这个关键字进行消息投递。

    vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。

    producer:消息生产者,就是投递消息的程序。

    consumer:消息消费者,就是接受消息的程序。

    channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。

    2)使用

    消息队列的使用过程大概如下:

    a.   客户端连接到消息队列服务器,打开一个channel

    b.   客户端声明一个exchange,并设置相关属性

    c.   客户端声明一个queue,并设置相关属性

    d.  客户端使用routing key,在exchange和queue之间建立好绑定关系

    e.  客户端投递消息到exchange

    3)rabbitmq管理界面上的各个参数

    Connections

    

    Channels

    

    Queues

    

  

posted @ 2020-04-21 15:13  欢乐豆123  阅读(590)  评论(0编辑  收藏  举报