NanoMQ官网:NanoMQ 介绍 | NanoMQ 文档NanoMQ官网:NanoMQ官网:NanoMQ 介绍 | NanoMQ 文档

NanoMQ 是于 2021 年初发布的边缘计算开源项目,是面向物联网边缘计算场景的下一代轻量级高性能 MQTT 消息服务器。

我们可以以这个为消息中介,两个用户分别订阅同一个主题,就能够实现消息互通。

anoMQ 与 NNG深度合作,NanoMQ 基于 NNG 异步 IO 和多线程模型面向 MQTT 协议深度优化后诞生。依靠 NNG 出色的网络 API 设计,NanoMQ 自身可以专注于 MQTT 服务器性能和更多的拓展功能。目标为边缘设备和 MEC 提供更好的 SMP 支持和极高的性能性价比。

 

有多种部署方式,

windos上部署服务器

本文章仅在windos(本机)下操作。

  1. 下载 nanomq-0.18.2-windows-x86_64.zip 并解压缩。

  2. 修改解压后文件

  3. 命令运行:后面的路径改为自己解压的路径
    nanomq start --conf E:\ESP32\practicum\nanomq\nanomq-0.23.6-windows-x86_64\config\nanomq.conf

    如果运行起来有报错,查看是否是日志问题。如果是,通过修改以下方式解决。

  4. 打开\nanomq-0.23.6-windows-x86_64\config文件夹找到nanomq.conf配置文件。修改dir路径为同级目录下的日志文件夹。

  5. 运行成功界面

 接下来可以通过mqtt客户端软件进行连接,订阅发消息了。

由于服务是泡在本地,所以直接用主机地址。

 

分为一个用户订阅,一个用户发布

由于默认情况下是所有用户都可以连接的,安全性很差,所以要改成用户名密码连接。

修改方式

Ubuntu上部署mqtt服务器

首先对Ubuntu进行一些配置,我使用的版本是22.04

安装一些软件包,配置网络模式(桥接模式)独立出来IP。

安装包

首先,安装 curl 工具(用于下载文件):

sudo apt update
sudo apt install curl -y


//查看ip地址(ifconfig)
sudo apt install net-tools -y

使用 安装包 安装

NanoMQ 支持使用 Apt 源安装,为用户提供了一种便捷可靠的方式来管理 NanoMQ 的安装和更新。以下是如何使用 Apt 源安装 NanoMQ 的方法:

查看虚拟机版本

打开官网下载合适的安装包

官网地址:Directory listing for NanoMQ: /v0.23.6/ | EMQ

安装完成由于Ubuntu与rpm不兼容,需要转以下包格式

首先安装alien工具(用于转换 RPM 到 DEB):

sudo apt update
sudo apt install alien -y

 将 RPM 包转换为 DEB 包:

sudo alien nanomq-0.23.6-linux-x86_64.rpm

 安装转换后的 DEB 包:

sudo dpkg -i nanomq_0.23.6-1_amd64.deb

 如果安装过程中出现依赖问题,运行以下命令修复:

sudo apt -f install -y

  验证安装是否成功:

nanomq --version  # 查看版本
nanomq start      # 启动服务

 启动 Nanomq 服务:

sudo nanomq start

  关闭 Nanomq 服务:

sudo nanomq stop

 

 查看IP地址

成功 

 

 

Ubuntu上使用Docker进行部署

安装docker参考docker入门(使用)-CSDN博客这篇文章

成功的回显

nanomq提供了多个版本的镜像,根据自己需求使用,但是建议使用完整版。

# 拉取最新基础版
docker pull emqx/nanomq:latest
 
# 拉取指定版本Slim版
docker pull emqx/nanomq:0.18.2-slim
 
# 拉取完整版
docker pull emqx/nanomq:0.18.2-full

 拉取成功后运行运行容器

docker run -d --name nanomq -p 1883:1883 -p 8083:8083 -p 8883:8883 emqx/nanomq:latest

 查看端口暴露情况

docker port nanomq

docker inspect nanomq | grep "PortBindings" -A 10

接下来就可以通过ubuntu的ip地址进行客户端链接了,因为docker已经把端口暴露出来了。 

 

 

 

 

 

 

 

更多推荐