zoukankan      html  css  js  c++  java
  • RabbitMQ的安装以及介绍

    RabbitMQ的安装以及介绍

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

    一、安装与启动

    1、下载并安装erlang

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

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

    3)检查是否安装成功

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

     

    2、下载并安装rabbitmq

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

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

    打开cmd命令框,切换至sbin目录下,输入rabbitmqctl status

    3、启动rabbitmq

    在命行CMD中,进入rabbitmq安装目录的sbin,开启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同一个目录下,然后在Apache中的配置文件httpd.conf中添加一段代码如下图:

    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)使用

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

    (1)客户端连接到消息队列服务器,打开一个channel

    (2)客户端声明一个exchange,并设置相关属性

    (3)客户端声明一个queue,并设置相关属性

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

    (5)客户端投递消息到exchange

  • 相关阅读:
    URAL 2067 Friends and Berries (推理,数学)
    URAL 2070 Interesting Numbers (找规律)
    URAL 2073 Log Files (模拟)
    URAL 2069 Hard Rock (最短路)
    URAL 2068 Game of Nuts (博弈)
    URAL 2066 Simple Expression (水题,暴力)
    URAL 2065 Different Sums (找规律)
    UVa 1640 The Counting Problem (数学,区间计数)
    UVa 1630 Folding (区间DP)
    UVa 1629 Cake slicing (记忆化搜索)
  • 原文地址:https://www.cnblogs.com/hld123/p/12744813.html
Copyright © 2011-2022 走看看