LiteOS学习笔记-10本地EMQ X服务器搭建
EMQ X简介
EMQ X R3.2 (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 语言平台开发,支持大规模连接和分布式集群,发布订阅模式的开源 MQTT 消息服务器。
EMQ X 消息服务器完整支持 MQTT V3.1/V3.1.1/V5.0 版本协议规范,并扩展支持 MQTT-SN 、WebSocket、CoAP、LwM2M、Stomp 以及私有 TCP/UDP 协议。EMQ X 消息服务器支持单节点 100 万连接与多节点分布式集群。
EMQ X 消息服务器为大规模设备连接 (C1000K+) 的物联网、车联网、智能硬件、移动推送、移动消息等应用,提供完全开放源码、安装部署简便、企业级稳定可靠、可弹性扩展、易于定制开发的 MQTT 消息服务器。
MQTT 发布订阅模式简述
MQTT 是基于 发布(Publish)/订阅(Subscribe) 模式来进行通信及数据交换的,与 HTTP 的 请求(Request)/应答(Response) 的模式有本质的不同。
订阅者(Subscriber) 会向 消息服务器(Broker) 订阅一个 主题(Topic) 。成功订阅后,消息服务器会将该主题下的消息转发给所有的订阅者。
主题(Topic)以 ‘/’ 为分隔符区分不同的层级。包含通配符 ‘+’ 或 ‘#’ 的主题又称为 主题过滤器(Topic Filters) ; 不含通配符的称为 主题名(Topic Names) 。
sensor/1/temperature
chat/room/subject
presence/user/feng
sensor/1/#
sensor/+/temperature
uber/drivers/joe/inbox
注: ‘+’ 通配一个层级,’#’ 通配多个层级(必须在末尾)。 注: 发布者(Publisher) 只能向 ‘主题名’ 发布消息,订阅者(Subscriber) 则可以通过订阅 ‘主题过滤器’ 来通配多个主题名称。
五分钟下载启动 EMQ
官网下载压缩包
EMQ X 的每个版本都会发布 CentOS、Ubuntu、Debian、FreeBSD、macOS、Windows、openSUSE 平台程序包与 Docker 镜像。
下载地址:点此
ZIP 压缩包安装 (Linux、MaxOS、Windows)
程序包下载后,可直接解压启动运行
### 启动emqx
./bin/emqx start
### 检查运行状态
./bin/emqx_ctl status
### 停止emqx
./bin/emqx stop
### 卸载 EMQ X Broker
直接删除 EMQ X 目录即可
EMQ X 启动后,MQTT 客户端可通过 1883 端口接入系统。运行日志输出在 log/ 目录。
EMQ X 默认加载 Dashboard 插件,启动 Web 管理控制台。用户可通过 Web 控制台,查看服务器运行状态、统计数据、连接(Connections)、会话(Sessions)、主题(Topics)、订阅(Subscriptions)、插件(Plugins)等。
控制台地址: http://127.0.0.1:18083 (opens new window),默认用户名 : admin,密码:public
EMQ X 消息服务器默认占用的 TCP 端口包括:
端口 | 功能 |
---|---|
1883 | MQTT 协议端口 |
8883 | MQTT/SSL 端口 |
8083 | MQTT/WebSocket 端口 |
8080 | HTTP API 端口 |
18083 | Dashboard 管理控制台端口 |