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 是已启动状态,如下图:

 

posted @ 2022-11-10 10:08  以德为先  阅读(3563)  评论(0编辑  收藏  举报