1.EMQ简介
EMQ官网介绍:https://docs.emqx.io/broker/latest/cn/
EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。
Erlang/OTP是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed)的语言平台。
MQTT 是轻量的 (Lightweight)、发布订阅模式 (PubSub) 的物联网消息协议。
EMQ X 设计目标是实现高可靠,并支持承载海量物联网终端的MQTT连接,支持在海量物联网设备间低延时消息路由:
- 稳定承载大规模的 MQTT 客户端连接,单服务器节点支持50万到100万连接。
- 分布式节点集群,快速低延时的消息路由,单集群支持1000万规模的路由。
- 消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。
- 完整物联网协议支持,MQTT、MQTT-SN、CoAP、LwM2M、WebSocket 或私有协议支持。
2.安装EMQ
EMQ支持非常多操作系统与安装方法:
此处阿里云服务器系统是Ubuntu18.04的,直接使用apt工具安装,自动安装最新版,一条命令搞定!
sudo apt install emqx
搞不定的可以看官网的教程,有非常多安装方法:
https://docs.emqx.io/broker/latest/cn/getting-started/install.html##packages
3.运行EMQ
同样是一条命令运行:
sudo emqx start
运行成功:
EMQ X Broker v4.1.3 is started successfully!
如果出现下面这个问题:
EMQX Node 'emqx@127.0.0.1' not responding to pings.
可能是版本不合适的问题,可以更换版本尝试!
然后就可以在浏览器输入:
http://服务器IP:18083
打开dashboard页面!
默认用户名密码是admin和public,如果报错可以修改/etc/emqx/plugins/dashboard.conf中dashboard登录的用户、密码:
保存退出,重启emq即可:
sudo emqx restart
4.配置username认证插件
停止当前emq服务:
sudo emqx stop
修改username配置文件:
sudo vim /etc/emqx/plugins/emqx_auth_username.conf
默认用户、密码是admin和public,这里修改为admin1和public1,密码hash验证修改为纯文本plain:
关闭匿名登录:
修改emqx.conf配置文件:
sudo vim /etc/emqx/emqx.conf
将565行的allow anonymous = true
修改为false
:
加载/开启username插件:
sudo emqx_ctl plugins load emqx_auth_username
也可使用dashboard开启插件:
5.MQTT.fx登录EMQ
修改连接配置文件,加上验证:
点击connect,连接成功,查看后台: