EMQ X 介绍

EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。Erlang/OTP 是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed) 的语言平台。MQTT 是轻量的 (Lightweight)、发布订阅模式 (PubSub) 的物联网消息协议。

EMQ X 面向海量的 移动 / 物联网 / 车载 等终端接入,并实现在海量物理网设备间快速低延时的消息路由:

  • 稳定承载大规模的 MQTT 客户端连接,单服务器节点支持百万连接。
  • 分布式节点集群,快速低延时的消息路由,单集群支持千万规模的路由。
  • 消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。
  • 完整物联网协议支持,MQTT、MQTT-SN、CoAP、LwM2M、私有 TCP/UDP 协议支持。

EMQ X 安装

下面将采用ZIP包的方式在centos 7 的系统上安装

  1. 通过 emqx.io 或 github 下载要安装的 EMQ X Broker 版本的 zip 包。

  2. 解压程序包

    1
    unzip emqx-centos7-v4.0.1.zip
  3. 启动 EMQ X Broker

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 启动
    ./bin/emqx start

    EMQ X Broker v4.0.1 is started successfully!

    # 查看运行状态
    ./bin/emqx_ctl status

    Node 'emqx@127.0.0.1' is started
    emqx 4.0.1 is running
  4. 停止 EMQ X Broker

    1
    ./bin/emqx stop
  5. 卸载 EMQ X Broker
    直接删除 EMQ X Broker 目录即可

EMQ X Dashboard

EMQ X Dashboard 是一个 Web 应用程序,你可以直接通过浏览器来访问它,无需安装任何其他软件。

当 EMQ X Broker 成功运行在你的本地计算机上且 EMQ X Dashboard 被默认启用时,你可以访问 http://localhost:18083 来查看你的 Dashboard,默认用户名是 admin,密码是 public。

注意: linux系统需要打开端口或者关闭防火墙才能访问。

EMQ X Dashboard详细介绍及功能说明

EMQ X Broker 基本命令

名称 含义
emqx start 后台启动 EMQ X Broker
emqx stop 关闭 EMQ X Broker
emqx restart 重启 EMQ X Broker
emqx console 使用控制台启动 EMQ X Broker
emqx foreground 使用控制台启动 EMQ X Broker,与 emqx console 不同,emqx foreground 不支持输入 Erlang 命令
emqx ping Ping EMQ X Broker

EMQ X Broker 配置

所有对 EMQ X 的配置都可以通过修改配置文件完成。配置文件的位置:

  • etc/emqx.conf : EMQ X 服务器的参数设置
  • etc/acl.conf : EMQ X Broker 默认 ACL 规则配置文件
  • etc/plugins/*.conf : EMQ X 插件配置文件,每个插件都有单独的配置文件。
    一些常用功能的配置也在 Web Dashboard 上进行修改。

配置端口

在安装以后,EMQ X 默认会使用以下端口:

  • 1883: MQTT 协议端口
  • 8883: MQTT/SSL 端口
  • 8083: MQTT/WebSocket 端口
  • 8084: MQTT/wss 端口
  • 8081: HTTP API 端口
  • 18083: Dashboard 管理控制台端口
    按照安装环境需要,可以修改以上端口。

修改协议端口请编辑 EMQ X 系统配置文件’etc/emqx.conf’,找到以下各行,并按需要修改端口号:

1
2
3
4
5
6
7
listener.tcp.external = 0.0.0.0:1883

listener.ssl.external = 8883

listener.ws.external = 8083

listener.wss.external = 8084

修改 HTTP API 端口请编辑 emqx_management 插件的配置文件’etc/plugins/emqx_management.conf’,找到下述行,并按需修改端口号:

1
management.listener.http = 8081

修改 Dashboard 管理控制台端口请编辑 emqx_dashboard 插件的配置文件’etc/plugins/emqx_dashboard.conf’, 找到下述行,并按需修改端口号:

1
dashboard.listener.http = 18083