centos7部署安装emqx服务及开启emqx服务认证
一、部署搭建准备1、在EMQX官网下载服务端https://www.emqx.com/zh/downloads/broker/4.4.1/emqx-4.4.1-otp24.1.5-3-el7-amd64.rpm2、使用手册 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/bintar-zxvfopenssl-1.1.1d.tar.gzcdopenssl-1.1.1d ./configmakemakeinstall# 重新运行启动指令并查看启动状态执行如下命令emqx_ctl status2、服务端默认配置可查看服务端配置文件 。配置文件所在路径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 falsevim/etc/emqx/emqx.conf预设认证数据vim/etc/emqx/plugins/emqx_auth_mnesia.conf重启服务MQTTX客户端验证这时候就需要账号和密码才能连接