Windows下安装搭建MQTT服务器 及 开机自启动
MQTT服务器( emqx )搭建
一、下载并安装emqx服务器
1. 访问Eqmx官网
2. 选中合适的MQTT服务器版本
由于我们使用的是本地部署MQTT服务器,而且只使用基础功能的MQTT服务器功能,所以选中“大规模分布式MQTT消息服务器”即可,
如下如图所示,点击下载按钮。
3. 选中“Windows”,下载“ emqx-5.3.2-windows-amd64.zip ”,如下图所示。
4. 将下载好的压缩文件解压,解压目录如下(注意解压目录不能出现中文,否则后面启动命令执行会报错):
二. 启动MQTT服务器
用管理员身份运行启动cmd窗口,进入到 bin目录,运行以下指令启动emqx:
emqx start 启动
emqx stop 停止EMQX
emqx restart 重启
emqx_ctl status 查看节点的运行状态
到这里,就说明MQTT服务器已正常运行。就可以使用其它支持MQTT客户端的设备进行连接使用了。
三、进入MQTT服务器控制台
emqx还提供了强大的控制台服务,进入控制台可进行各种配置。
确保emqx已正常运行后,可在浏览器中输入: http://127.0.0.1:18083
可以输入默认账号和密码进行登陆,默认账号为“admin”,默认密码为“public”,正常登陆后进入MQTT服务器后台管里界面:
emqx控制台的使用,大家可以自己去摸索看看,这里就不做详细说明了。
四、测试本地部署的MQTT服务器
1. 下载EMQX的(MQTT客户端),如下图所示。
2. 分别打开两个MQTT5.0客户端工具。
3. 将两个MQTT5.0客户端工具的语言设置为“简体中文”。
四、开机自启动
创建bat文件emqx_monitor.bat
@echo off %1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit set EMQX_PATH=D:\emqx-5.3.2-windows-amd64 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
注意:
1. 将该bat文件放到emqx解压目录中
2. 鼠标右键bat文件,创建快捷方式
3. WIN+R 输入 shell:startup 打开开机自启软件的根目录
4. 将快捷方式剪切到该目录中
启动成功之后,会在安装目录出现emqx_monitor.log文件
电脑重启之后会在任务管理器中“启动”目录下看到emqx_monitor.bat 是已启动状态,如下图: