一、部署搭建准备
1、在EMQX官网下载服务端:https://www.emqx.com/zh/downloads/broker/4.4.1/emqx-4.4.1-otp24.1.5-3-el7-amd64.rpm
2、使用手册: https://docs.emqx.com/zh/emqx/v4.4/advanced/auth-mnesia.html
二、安装部署
1、安装部署指令
# 或wget直接下载到Linux指定目录中wgethttps://www.emqx.com/zh/downloads/broker/4.4.1/emqx-4.4.1-otp24.1.5-3-el7-amd64.rpm# 安装rpm-ivhemqx-4.4.1-otp24.1.5-3-el7-amd64.rpm# 我这边提示 libatomic 被 emqx-4.4.1-otp24.1.5_3.el7.x86_64 需要yuminstall-ylibatomic# 然后再次运行安装指令,成功后执行下面启动emqx命令sudoemqx start# 启动报错处理:Please make sure openssl-1.1.1 (libcrypto) and libncurses are installed.wget--no-check-certificate https://www.openssl.org/source/openssl-1.1.1d.tar.gz# 解压编译(安装完成后 路径:/usr/local/bin)tar-zxvfopenssl-1.1.1d.tar.gzcdopenssl-1.1.1d ./configmake&&makeinstall# 重新运行启动指令并查看启动状态执行如下命令emqx_ctl status
2、服务端默认配置,可查看服务端配置文件 。配置文件所在路径
vim/etc/emqx/emqx.conf可以发现有3个默认端口号:8083 为websocket默认端口、18083为管理控制台端口、1883为tcp端口。
3、管理控制台登录界面:访问地址:ip:18083。(默认用户名密码:admin/public)
修改Dashboard控制面板账号默认密码
emqx_ctl adminspasswdadmin emqxadmin
设置中文面板
集成工具可以在里直接测试
三、开启emqx服务认证(emqx服务协议认证账号和上面的Dashboard控制面板账号不要混淆)和MQTTX客户端验证
1、下载地址:https://mqttx.app/
可以看到这时候是没有任何认证的,直接就连上emqx服务了,那如何开启认证呢?emqx认证方式有好几种
EMQ X 支持使用内置数据源(文件、内置数据库)、JWT、外部主流数据库和自定义 HTTP API 作为身份认证数据源。
连接数据源、进行认证逻辑通过插件实现的,每个插件对应一种认证方式,使用前需要启用相应的插件。 客户端连接时插件通过检查其
username/clientid 和 password 是否与指定数据源的信息一致来实现对客户端的身份认证。
2、开启 Mnesia 认证
Mnesia 认证默认使用 sha256 进行密码哈希加密,可在 etc/emqx/plugins/emqx_auth_mnesia.conf 中更改
配置哈希方法后,新增的预设认证数据与通过 HTTP API 添加的认证数据将以哈希密文存储在 EMQX 内置数据库中。
启用 emqx_auth_mnesia 插件
修改emqx配置文件 allow_anonymous = false
vim/etc/emqx/emqx.conf预设认证数据
vim/etc/emqx/plugins/emqx_auth_mnesia.conf重启服务,MQTTX客户端验证
这时候就需要账号和密码才能连接