一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第18天,点击查看活动详情。
概述
EMQX (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。
Erlang/OTP是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed)的语言平台。
MQTT 是轻量的 (Lightweight)、发布订阅模式 (PubSub) 的物联网消息协议。
EMQX 设计目标是实现高可靠,并支持承载海量物联网终端的 MQTT 连接,支持在海量物联网设备间低延时消息路由:
- 稳定承载大规模的 MQTT 客户端连接,单服务器节点支持 200 万连接。
- 分布式节点集群,快速低延时的消息路由。
- 消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。
- 完整物联网协议支持,MQTT、MQTT-SN、CoAP、LwM2M、WebSocket 或私有协议支持。
官网地址: docs.emqx.io/broker/late…
Docker安装
1.创建容器
docker run --rm -d --name emqx -p 18083:18083 -p 1883:1883 emqx/emqx:latest
2.配置登录账号密码(无账号密码可忽略)
安装完成以后我们就可以使用mqtt客户端进行连接,但现在我们是不需要填写用户名密码就可以进行登录,不太安全,在使用中我们需要启用用户名密码来进行验证,首先我们需要启用用户名密码登录插件:
a.登录配置中心
http://localhost:18083/#/ #账号:admin #密码:public
b.左侧菜单栏找到插件(Plugins)
点击右侧的“Start”按钮来启动 emqx_auth_username插件
插件启用以后,我们就要配置用户名密码了,这里介绍两种方式:
- 方法一:
在控制台启用插件以后,点击“manage”,添加账号密码
- 方法二:
进入到容器内部,通过修改配置文件的方式配置用户名密码
#进入容器内部,修改账号密码
docker exec -it cdb56fabe52c /bin/sh
cd /opt/emqx/etc/plugins
vi emqx_auth_clientid.conf
#添加账号密码:
auth.client.1.clientid = id
auth.client.1.password = passwd