Windows部署EMQX‑5.3.2 MQTT服务器(两种方式:原生脚本 + WinSW系统服务)

Windows部署EMQX‑5.3.2 MQTT服务器(两种方式:原生脚本 + WinSW系统服务)

环境:Windows系统,EMQX版本:emqx‑5.3.2‑windows‑amd64

一、环境准备

  1. 下载EMQX Windows版本安装包:emqx‑5.3.2‑windows‑amd64.zip
  2. 将压缩包解压到目录:D:\soft\emqx5.3.2>

⚠️注意:路径不要包含中文、空格,避免运行出现异常。

方式一:EMQX原生脚本运行(临时控制台 + bat双击启动 + 原生服务安装)

1. 管理员CMD进入程序目录

  1. 右键开始菜单,选择 命令提示符(管理员) / 终端(管理员)
  2. 切换到EMQX的bin目录
cd /d D:\soft\emqx5.3.2\bin

2. 安装EMQX原生Windows服务

.\emqx.cmd install

执行完成后,EMQX会注册到Windows系统服务列表。

3. 控制台前台启动(调试用,关闭窗口服务就停止)

.\emqx.cmd console

该模式适合调试查看日志,窗口关闭MQTT服务就停止,不适合生产长期运行。

4. 双击BAT脚本一键前台启动

如果不想每次敲命令,可以创建启动脚本:

  1. 在D:\soft\emqx5.3.2\bin目录下新建文本文档
  2. 写入内容:
.\emqx.cmd console
  1. 将文件另存为 start.bat,编码选择ANSI。>

使用:右键以管理员身份运行start.bat即可启动控制台模式。

注意:bat方式依旧是控制台模式,关掉窗口服务停止,适合测试,不适合后台常驻运行。

方式二:使用WinSW封装为Windows系统服务(后台常驻开机自启)

WinSW可以把exe/cmd脚本封装成标准Windows系统服务,实现开机自动后台运行,不需要维持cmd窗口。

emqx‑winsw‑service.xml配置文件

注意修改配置内的路径,和你的实际解压路径D:\soft\emqx5.3.2保持一致。

<service>
  <id>EMQX</id>
  <name>EMQX MQTT Broker</name>
  <description>EMQX - 开源 MQTT 物联网消息服务器</description>
  <executable>D:\soft\emqx5.3.2\bin\emqx.cmd</executable>
  <arguments>console</arguments>
  <workingdirectory>D:\soft\emqx5.3.2\bin</workingdirectory>
  <logpath>D:\soft\emqx5.3.2\logs</logpath>
  <logmode>rotate</logmode>
  <startmode>Automatic</startmode>
</service>

WinSW部署操作步骤

  1. 下载WinSW程序,把WinSW‑x64.exe放到D:\soft\emqx5.3.2\bin目录;
  2. 将上面xml配置文件保存为emqx‑winsw‑service.xml,和winsw的exe放在同一个目录;>

💡 小技巧:把WinSW‑x64.exe重命名为emqx‑winsw‑service.exe,保证exe和xml文件名完全一致。

  1. 管理员身份打开CMD,进入bin目录
cd /d D:\soft\emqx5.3.2\bin
  1. 安装Windows服务
.\emqx‑winsw‑service.exe install
  1. 安装成功后,就可以在Windows服务管理器中找到EMQX MQTT Broker,设置自动启动,直接在服务面板启动/停止服务,实现后台常驻,开机自启。

卸载服务命令:

.\emqx‑winsw‑service.exe uninstall

访问EMQX管理控制台

服务启动成功后,浏览器访问EMQX Dashboard

[http://127.0.0.1:18083](http://127.0.0.1:18083)

默认账号:admin,默认密码:public,登录后建议第一时间修改密码。

端口说明

端口 用途
1883 MQTT TCP端口
8883 MQTT TLS端口
8083 MQTT‑WS WebSocket端口
18083 Web管理后台端口

常见踩坑说明

  1. 所有操作必须管理员权限,否则注册服务会失败;
  2. 文件路径不要中文、空格;
  3. 防火墙放行1883、18083等端口,否则外部设备无法连接MQTT;
  4. console控制台模式关闭窗口服务就停止,生产环境优先使用WinSW封装系统服务。

posted @ 2026-10-30 13:43  摩诘  阅读(10)  评论(0)    收藏  举报