EMQX作为MQTT服务端的应用
1、下载Windows最后支持的版本v5.3.2
https://www.emqx.com/zh/downloads/broker/v5.3.2
- emqx-5.3.2-windows-amd64.zip
- https://www.emqx.com/zh/downloads/broker/v5.3.2/emqx-5.3.2-windows-amd64.zip
2 解压zip
2.3 启动EMQX
在 D:\software\emqx\emqx-5.3.2-windows-amd64\bin执行cmd
执行启动指令 emqx start
修改端口
配置 TCP 监听器
TCP 监听器是一种网络服务,它在特定的网络端口上监听传入的 TCP 连接。它在客户端与 EMQX 之间通过 TCP/IP 网络建立和维护连接中发挥重要作用。
在 EMQX 中配置 TCP 监听器,需在 EMQX 安装目录下的 etc 文件夹中的 emqx.conf 文件添加 listeners.tcp 配置项。
例如,若要启用端口 1883 上的 TCP 监听器,并设置监听器最多允许 1,024,000 个并发连接,可使用以下配置:
listeners.tcp.default {
bind = "0.0.0.0:1883"
max_connections = 1024000
}
node { name = "emqx@127.0.0.1" cookie = "emqxsecretcookie" data_dir = "data" } cluster { name = emqxcl discovery_strategy = manual } dashboard { listeners.http { bind = 18083 } } listeners.tcp.default { bind = "0.0.0.0:1883" max_connections = 1024000 }
配置说明:
listeners.tcp.default 代表启用该监听器,default 为监听器名称,可根据需要更改。
bind 设定监听器的 IP 地址及端口,此处配置为监听所有 IP 地址上的 1883 端口的所有传入流量。
max_connections 设置监听器允许的最大并发连接数,默认值为 infinity。
2.4 关闭EMQX
执行关闭指令 emqx stop
三、EMQX Dashboard
访问EMQX Dashboard
地址:http://localhost:18083/
账号/密码: admin/public
网络端口,如 MQTT 默认端口 1883 和用于加密连接的 8883(MQTT/TLS)以及 8083/8084(MQTT/WebSocket)
四、验证
通过 MQTTX 快速验证
MQTTX 是 EMQX 开源的一款跨平台 MQTT 5.0 客户端工具,它支持 macOS、Linux、Windows,并且支持自定义脚本模拟测试、MQTT 消息格式转换、日志记录等多个功能。您可通过 MQTTX 一键式的连接方式和图形界面,您可轻松测试 MQTT/TCP、MQTT/TLS、MQTT/WebSocket 连接。
本节讲介绍如何通过 MQTTX Web 端 快速验证 MQTT 连接,无需下载或安装任何程序。
访问 MQTTX Web 页面。
配置并建立 MQTT 连接。点击 + 新建连接 进入配置页面,您只需配置:
名称:连接名称,如 MQTTX_Test;
服务器地址
通过选择该连接的协议类型,如 WebSockets 协议,ws://;目前 MQTTX Web 端仅支持 WebSocket 协议,如希望测试 SSL/TLS 认证连接,请下载 MQTT 客户端;
填入之前获取的 EMQX 地址,如 emqx@127.0.0.1
端口:如 WebSockets 协议对应的 8083 端口其他项目保持默认配置,你也可以根据具体业务场景修改。有关页面字段的配置说明,可参考 MQTT 手册 - 快速建立连接。
配置完成后,点击页面右上角的连接按钮建立连接。
订阅相关主题。连接成功后即可快速订阅多个主题。点击页面中部的添加订阅按钮,按照默认配置,我们将订阅匹配 testtopic/# 主题的所有消息,QoS 等级为 0。您可多次重复该项操作以订阅不同主题,MQTTX Web 会通过不同颜色区分各主题。
测试消息的发送与接收。点击页面右下角聊天区域的发送按钮,可以在上方的聊天窗口中看到消息已成功发送。
五、开机自启动
创建bat文件
@echo off %1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit set EMQX_PATH=D:\emqx-5.1.4 set OUTPUT_FILE=%EMQX_PATH%\emqx_monitor.log :loop cd /d "%EMQX_PATH%" REM 获取当前日期时间,并格式化为时间戳 for /f "tokens=1-4 delims=/ " %%a in ('date /t') do ( set year=%%a set month=%%b set day=%%c ) for /f "tokens=1-3 delims=: " %%a in ('time /t') do ( set hour=0%%a set minute=%%b ) set timestamp=%year%-%month%-%day% %hour:~-2%:%minute% cd bin emqx_ctl status | findstr /C:"Node 'emqx@127.0.0.1'" | findstr /C:"is started" >NUL IF "%ERRORLEVEL%"=="0" ( echo [%timestamp%] EMQX is running normally. >> %OUTPUT_FILE% ) ELSE ( echo [%timestamp%] EMQX is not running. Restarting... >> %OUTPUT_FILE% REM 结束之前的 EMQX 进程,可以通过 taskkill 命令来实现 REM taskkill /f /im beam.smp.exe >NUL start /b cmd /c "%EMQX_PATH%\bin\emqx start" echo [%timestamp%] EMQX has started. >> %OUTPUT_FILE% REM 如果 EMQX 不直接启动一个新窗口,可以将上面一行修改为以下内容 REM call %EMQX_PATH%\emqx start ) timeout /t 60 > NUL goto loop

将该文件放到,目录中

鼠标右键,创建快捷方式
WIN+R 打开机自启软件的根目录,输入 shell:startup

将快捷方式截切到该目录中

启动成功之后,会在安装目录出现emqx_monitor.log log文件
电脑重启之后:

浙公网安备 33010602011771号