当前位置:首页 > CN2资讯 > 正文内容

在 Windows 上搭建 MQTT 消息服务器mqtt服务器搭建 windows

14小时前CN2资讯

MQTT 已经是物联网事实上的标准通信协议。在目前市面上提供的各类开源 MQTT 服务器中,最常见的是 Linux 平台为基础,对于 Windows 平台的支持较少,即使支持也存在性能较弱、功能单一、版本兼容性等问题。

然而在工业自动化和建筑智能领域,有许多场景仍然依赖于 Windows 的生态环境。特别是工控上位机仍然大量使用 C# 开发运行在安装 Windows 的工控机中,有的成本敏感场景甚至还在使用 WinCE 操作系统。为了能让这些用户也能在 Windows 上使用到方便易用、轻量小巧、功能齐全的 MQTT 消息服务,超轻量级物联网边缘 ​​MQTT 消息服务器 NanoMQ​​ 依赖其强大的跨平台和可兼容能力,通过 MinGW 的 POSIX 编译环境成功移植到了各类 Windows 环境。

本文将以 NanoMQ 为例,演示如何通过安装包和源代码编译两种安装方式,在 Windows 系统中快速搭建一个可以支持多协议连接的物联网 MQTT 消息服务器。

NanoMQ 简介

NanoMQ 是 EMQ 推出的面向物联网边缘计算场景的超轻量级高性能 MQTT 消息服务器+消息总线(Github 地址: ​​https:///emqx/nanomq),具有超轻量、高吞吐、低延迟、兼容性高和可移植等优点,能够在各类操作系统和​​ CPU 架构上部署。

目前 NanoMQ 具有的功能有:

  • 完整支持MQTT 3.1.1/5.0
  • 嵌入式规则引擎,支持消息的实时处理和持久化。
  • 支持云端桥接,并可以进行消息离线缓存和自动重传。
  • 提供丰富的 HTTP REST APIs,方便云边协同和远程运维监控。
  • 多协议支持 :MQTT over WebSocket, ZeroMQ 和 nanomsg 等。
  • 支持第三方 HTTP 认证和 WebHook 集成方式。

安装包安装

第一种方法我们将直接使用二进制安装包进行安装。

下载安装包

首先进入 NanoMQ 官网下载页面:​​https://nanomq.io/zh/downloads,并选择​​ Windows 平台下载安装包:

从 NanoMQ 官网下载 Windows 发布包

目前最新的 NanoMQ Windows Release 版本是 0.10.5。

安装包安装

下载会得到一个 msi 格式的安装包,双击进行安装。

下载的安装包

选择安装路径和所需安装的功能,安装包也包含了 NanoSDK 的库文件:

安装完成后程序自动退出。

测试和启动 NanoMQ 服务

目前 NanoMQ 还不包含可视化界面,所以需要通过命令行或者服务启动,启动方式如下:

打开命令行窗口或者 PowerShell,输入 nanomq 可以看到:

检查命令是否能够正常使用

说明系统已经成功安装了 NanoMQ,可以通过输入 --help 了解具体有哪些命令选项。

启动的话可以使用 ​​nanomq start --conf C:\nanomq\config\nanomq.conf​​ 配置文件指定的路径请根据第二步的安装选择的路径找到对应的配置文件,简单的配置选项有:

## url
## Connect with the host and port
## 监听的端口和IP地址
## Value: nmq-tcp://host:port
url=nmq-tcp://localhost:1883

## num_taskq_thread
## Use a specified number of taskq threads
## 线程数,建议设置成和CPU核数相同
## Value: 1-255
num_taskq_thread=4

## max_taskq_thread
## Use a specified maximunm number of taskq threads
## 线程数,建议设置成和CPU核数相同
## Value: 1-255
max_taskq_thread=4

## msq_len
## The queue length in-flight window
## This is essential for performance and memory consumption
## 飞行窗口长度大小,影响broker最大内存占用
## Value: 1-infinity
msq_len=256

在 Windows 平台,监听的 URL 需要设置成 ​​nmq-tcp://localhost:1883​​​ 。除了 nanomq.conf 配置文件外,其他功能的具体配置方法可以参考 ​​NanoMQ的文档页面​​。

测试 NanoMQ 服务是否正常运行,可以使用 NanoMQ 自带的客户端工具直接测试:

通过 NanoMQ 的 Pub/Sub 命令,可以看到已经可以正常收发消息,Sub 客户端可以收到 Pub 客户端发的 Hello 消息。

源码编译及运行

第二种方法是通过源代码进行编译安装,这种方法允许我们在 Windows 上对 NanoMQ 进行二次开发并增加自己需要的功能。

目前 NanoMQ 在 Windows 下的编译需要 ​​MinGW-w64​​​、​​Make​​​ 和 ​​CMake​​。

  • MinGW-w64下载地址: [​​https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/installer/mingw-w64-install.exe/download​​​](​​https://sourceforge.net/projects/mingw-w64/files/Toolchains​​ targetting Win32/Personal Builds/mingw-builds/installer/mingw-w64-install.exe/download)
  • Make下载地址:​​https://sourceforge.net/projects/gnuwin32/files/make/3.81/make-3.81.exe/download?use_mirror=jaist&download=​​
  • CMake下载地址:​​https://cmake.org/download/​​

源码准备

首先需要从 NanoMQ 源代码仓库下载源代码,注意 NanoMQ 内部包含一个子模块 NNG。

NanoMQ 源码仓库: ​​https:///emqx/nanomq​​

下载链接:​​https:///emqx/nanomq/archive/refs/heads/master.zip​​

NanoNNG 源码仓库:​​https:///nanomq/NanoNNG/tree/main​​

下载链接:​​https:///nanomq/NanoNNG/archive/refs/heads/main.zip​​

NNG 的源代码需要放置在 nanomq 的 nng 目录下,准备好源代码后就可以开始编译。

编译安装 NanoMQ

命令行编译

以下命令在 Windows PowerShell 或 Git bash 中运行.

# 1. clone 源码 (已通过ZIP下载源代码则不需要这一步)
PS: D:\Project> git clone https://github.com/emqx/nanomq.git
PS: D:\Project> cd nanomq

# 2. 更新和初始化 git 子模块
PS: D:\Project\nanomq> git submodule update --init --recursive

# 3. 创建并进入 build 目录
PS: D:\Project\nanomq> mkdir build
PS: D:\Project\nanomq> cd build

# 4. 编译 NanoMQ
PS: D:\Project\nanomq\build> cmake -G "MinGW Makefiles" ..
PS: D:\Project\nanomq\build> make -j 8

# 5. 运行 NanoMQ
PS: D:\Project\nanomq\build> .\nanomq\nanomq.exe broker start

Visual Studio Code 中编译

需提前安装 VS Code 的 C/C++ 和 CMake 相关插件

  • 点击选择编译工具链;
  • 选择 GCC 8.1.0 i686-w64-mingw32 (可能根据你所安装的 MinGW 版本不同而有所不同);
  • 点击 build 开始编译 NanoMQ。
  • 运行测试

    除了 NanoMQ 自带的客户端工具,还可以使用 ​​开源 MQTT 测试客户端工具 MQTT X​​ 来进行基础的消息收发测试。

    MQTT X 下载地址:​​https://www.emqx.com/zh/try?product=MQTTX​​

    从 MQTTX 可以看到消息能够通过 NanoMQ 进行正常收发。

    结语

    至此,我们已经成功在 Windows 平台搭建了完整的 MQTT Broker,为广大 Windows 生态用户和其他无法使用 Linux 环境的场景提供了一个轻量且性能强大功能齐全的 MQTT 消息服务器。后续我们还将进一步介绍如何在 Windows 上使用 NanoMQ 的规则引擎和 WebHook 等更多高级功能。

    版权声明: 本文为 EMQ 原创,转载请注明出处。

    原文链接:​​https://www.emqx.com/zh/blog/install-mqtt-broker-on-windows​​

      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/31080.html

      分享给朋友:

      “在 Windows 上搭建 MQTT 消息服务器mqtt服务器搭建 windows” 的相关文章

      GPU租用市场的崛起与行业应用分析

      在过去的几年中,GPU租用市场的发展速度让我惊叹,真的如雨后春笋般冒出。随着科技的不断进步和市场需求的增长,越来越多的人选择租用GPU来满足高性能计算的需求。这种选择不仅适用于企业,也吸引了许多个人用户。GPU租用为我们提供了便利,加速了各类计算密集型任务的完成。 GPU租用的定义非常简单,就是将高...

      如何有效使用WP Rocket插件提升WordPress网站性能

      WP Rocket是一个强大的高级WordPress缓存插件,它的使用对于提升网站的速度和性能起着至关重要的作用。如今,网站的加载速度对于用户体验和SEO排名都有着重要的影响。WP Rocket通过一系列功能和设置,帮助用户轻松优化自己的网站,进而增加访问量和客户满意度。 在使用WP Rocket插...

      REST教程:掌握RESTful接口设计与开发最佳实践

      REST(Representational State Transfer)是一种架构风格,广泛应用于网络服务的设计。它强调通过标准的HTTP协议来实现资源的操作,设计简约而高效。在我学习RESTful接口的过程中,发现其核心特性尤其重要,包括无状态性、资源导向和统一接口等。这些特性不仅让开发变得更加...

      阿里云国际:企业数字化转型的理想云服务解决方案

      阿里云国际概述 阿里云国际成立于2015年,致力于为全球用户提供高效、可靠、安全的云计算服务。作为阿里巴巴集团的一部分,阿里云国际不仅承载着国内市场的技术精华,也积极拓展国际市场。随着全球互联网的快速发展,企业对云服务的需求不断增加,阿里云国际顺应这一趋势,凭借创新的技术和丰富的经验,迅速在全球范围...

      甲骨文注册的重要性与流程详解

      什么是甲骨文注册 甲骨文注册,顾名思义,是对甲骨文进行官方备案的过程。甲骨文是中国古代的一种文字,最早出现在商朝晚期,主要被用于记录卜辞。这种文字不仅在语言和文化上有着重要的地位,还是研究古代历史和社会的一把钥匙。通过甲骨文注册,相关机构和个人可以对其研究或使用活动进行合法的保护和管理,确保甲骨文的...

      解决Hostodo官网无法打开的问题的有效方法

      在使用 Hostodo 官网时,偶尔会遇到无法打开的情况。这种情况可能让人感到无助,尤其是当你迫切需要访问相关信息时。让我来分享一些常见原因,帮助你更好地理解。 首先,服务器的维护或故障是一个普遍的原因。当网站进行定期更新或修复时,服务器可能会暂时不可用。通常,官方会提前通知用户,然而,有时我们无法...