使用Docker安装EMQ并启用账号密码

2,357 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第18天,点击查看活动详情

概述

EMQX (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。

Erlang/OTP是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed)的语言平台。

MQTT 是轻量的 (Lightweight)、发布订阅模式 (PubSub) 的物联网消息协议。

EMQX 设计目标是实现高可靠,并支持承载海量物联网终端的 MQTT 连接,支持在海量物联网设备间低延时消息路由:

  1. 稳定承载大规模的 MQTT 客户端连接,单服务器节点支持 200 万连接。
  2. 分布式节点集群,快速低延时的消息路由。
  3. 消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。
  4. 完整物联网协议支持,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插件

1.png

插件启用以后,我们就要配置用户名密码了,这里介绍两种方式:

  • 方法一:

在控制台启用插件以后,点击“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