RabbitMQ多设备消息队列-安装与简介
RabbitMQ简介
解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议。 AMQP协议是一种基于网络的消息传输协议,它能够在应用或组织之间提供可靠的消息传输。RabbitMQ是该AMQP协议的一种实现,利用它,可以将消息安全可靠的从发 送方传输到接收方。简单的说,就是消息发送方利用RabbitMQ将信息安全的传递给接收方。
RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消 息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。
下载地址http://www.rabbitmq.com/download.html
RabbitMQ安装
安装RabbitMQ,首先要安装erlang软件,然后在安装RabbitMQ软件
第一步:安装Erlang
(RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境。)
版本:otp_win32_R15B01.exe
安装目录:C:\ProgramFiles\erl5.9.1
安装步骤如下:
Erlang 安装完成。
第二步:安装RabbitMQ-Server
安装路径:C:\Program Files\RabbitMQ Server
bin目录: C:\Program Files\RabbitMQServer\rabbitmq_server-3.4.3\sbin
安装完成。
测试安装是否成功:
使用 rabbitmqctl list_users(列出所有用户) 命令
执行cmd命令,cd C:\Program Files\RabbitMQServer\rabbitmq_server-3.4.3\sbin 首先进入sbin目录
然后执行 rabbitmqctl list_users 命令
启用RabbitMQ 自带的Web 管理工具(先定位到rabbitmq安装目录sbin目录):
命令: rabbitmq-plugins enable rabbitmq_management
启动后,本机访问,界面如下:
在浏览器地址输入:http://localhost:15672/ 账号密码都是:guest
注:guest账号只能 localhost 进行访问,远程无法用此默认账号
远程访问,需先添加账号 (Tags: administrator):
用刚分配好的Test进行远程登录,界面如下:
完美收工!
注意:
1. Rabbit MQ 远程程序开发过程中 需要开启15672 和 5672 两个端口
2. 是否启动 RabbitMQ
执行cmd命令,cd C:\Program Files\RabbitMQServer\rabbitmq_server-3.4.3\sbin 首先进入sbin目录下在写命令
开启插件:网页管理工具
rabbitmq-plugins enable rabbitmq_management
重启rabbitmq-server服务
rabbitmq-server restart
服务器启动与关闭
启动:
rabbitmq-server –detached 【推荐】
rabbitmq-server start
关闭:
rabbitmqctl stop
rabbitmq-service stop
通过查看端口是否被监听
netstat -nlp | grep beam
tcp 0 0 0.0.0.0:55672 0.0.0.0:* LISTEN 31054/beam.smp
tcp 0 0 0.0.0.0:55354 0.0.0.0:* LISTEN 31054/beam.smp
tcp 0 0 :::5672 :::* LISTEN 31054/beam.smp
创建web管理用户
linux-bnnq:~ # rabbitmqctl add_user web_admin 123.com #添加web监听账户
设置web管理用户的角色
linux-bnnq:~ # rabbitmqctl set_user_tags web_admin monitoring #设置用户角色
查看设置的用户是否正确
linux-bnnq:~ # rabbitmqctl list_users #查看监听用户
Rabbit MQ管理工具
删除队列操作,其他的类似
选择一个队列进入后delete