NanoMQ的安装与部署

本文使用docker进行安装,因此安装之前需要已经安装了docker

拉取镜像

bash 复制代码
docker pull emqx/nanomq:latest

相关配置及密码认证

创建目录/usr/local/nanomq/conf以及配置文件nanomq.conf、pwd.conf

bash 复制代码
# #====================================================================
# # MQTT Broker
# #====================================================================
mqtt {
    property_size = 32
    max_packet_size = 10KB
    max_mqueue_len = 2048
    retry_interval = 10s
    keepalive_multiplier = 1.25

    # Three of below, unsupported now
    max_inflight_window = 2048
    max_awaiting_rel = 10s
    await_rel_timeout = 10s
}

listeners.tcp {
    bind = "0.0.0.0:1883"
}

auth {
        allow_anonymous = false # 允许匿名登录
        no_match = allow       # 没有 ACL 规则匹配情况下的默认操作
        deny_action = ignore   # ACL 检查拒绝情况下的默认操作

        cache = {
                max_size = 32        # 客户端可以缓存的最大 ACL 条目数量
                ttl = 1m             # ACL 规则缓存有效时间
        }

        password = {include "/etc/nanomq_pwd.conf"} # 密码存储文件路径
#       acl = {include "/etc/nanomq_acl.conf"}       # ACL 配置文件路径
}
bash 复制代码
admin: public
client: public

通过 Docker 运行NanoMQ

bash 复制代码
docker run -d -p 1883:1883 \
           -v /usr/local/nanomq/conf/nanomq.conf:/etc/nanomq.conf\
           -v /usr/local/nanomq/conf/pwd.conf:/etc/nanomq_pwd.conf\
           --name nanomq emqx/nanomq:latest

验证

下载MQTTX工具,验证连接以及消息的发布、订阅

相关推荐
玖玥拾5 分钟前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
铅笔侠_小龙虾25 分钟前
Rust 学习目录
开发语言·学习·rust
我命由我1234541 分钟前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑1 小时前
Sentinel安装
java·后端·微服务
云泽8081 小时前
从零吃透 C++ 异常:抛出捕获、栈展开、异常重抛与编码规范详解
开发语言·c++·代码规范
灯澜忆梦1 小时前
GO---可见性规则
开发语言·golang
逝水无殇1 小时前
C# 文件的输入与输出详解
开发语言·数据库·后端·c#
这是个栗子2 小时前
前端开发中的常用工具函数(八)
开发语言·前端·javascript
凤凰院凶涛QAQ2 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
研☆香2 小时前
为什么变量声明在赋值前也能使用?—— 深入理解 JavaScript 变量提升与作用域
开发语言·前端·javascript