• Docker部署EMQX


    1、简介

    EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。

    Erlang/OTP是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed)的语言平台。

    MQTT 是轻量的 (Lightweight)、发布订阅模式 (PubSub) 的物联网消息协议。

    EMQ X 设计目标是实现高可靠,并支持承载海量物联网终端的MQTT连接,支持在海量物联网设备间低延时消息路由:

    • 稳定承载大规模的 MQTT 客户端连接,单服务器节点支持50万到100万连接。
    • 分布式节点集群,快速低延时的消息路由,单集群支持1000万规模的路由。
    • 消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。
    • 完整物联网协议支持,MQTT、MQTT-SN、CoAP、LwM2M、WebSocket 或私有协议支持。

    2、启动emqx

    官网连接:https://www.emqx.io/docs/zh/v5.1/deploy/install-docker.html#%E9%80%9A%E8%BF%87-docker-%E8%BF%90%E8%A1%8C%E5%8D%95%E4%B8%AA-emqx-%E8%8A%82%E7%82%B9
    docker持久化:https://askemq.com/t/topic/2353
    docker链接:https://hub.docker.com/r/emqx/emqx

    # docker run -d --name emqx emqx/emqx:v4.0.0
    
    • 1

    3、复制emqx数据

    # mkdir -p mqtt/emqx && cd mqtt
    # docker cp emqx:/opt/emqx/data emqx
    # docker cp emqx:/opt/emqx/etc emqx
    # docker cp emqx:/opt/emqx/lib emqx
    # docker cp emqx:/opt/emqx/log emqx
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4、授权emqx目录

    # chown -R 1000:1000 emqx/
    # chmod -R 755 emqx/
    
    • 1
    • 2

    5、配置docker-compose.yml

    # cat docker-compose.yml
    version: '3'
    services:
      mqtt:
        image: emqx/emqx:v4.0.0
        privileged: true
        restart: always
        container_name: mqtt
        hostname: mqtt
        environment:
          - TZ=Asia/Shanghai
          - EMQX_NODE_NAME=wielun@172.200.200.2
          - EMQX_HOST=172.200.200.2
          - EMQX_NAME=wielun
        ports:
          - 1883:1883 # MQTT/TCP 协议端口
          - 8081:8081 # HTTP
          - 8083:8083 # MQTT/WS 协议端口
          - 8883:8883 # MQTT/SSL 协议端口
          - 8084:8084 # MQTT/WSS 协议端口
          - 18083:18083 # MQTT/TCP 协议内部端口,仅用于本机客户端连接
        volumes:
          - /etc/localtime:/etc/localtime:ro
          - /usr/share/zoneinfo/:/usr/share/zoneinfo/:ro
          - ./emqx/data:/opt/emqx/data
          - ./emqx/etc:/opt/emqx/etc
          - ./emqx/lib:/opt/emqx/lib
          - ./emqx/log:/opt/emqx/log
        networks:
          default:
            ipv4_address: 172.200.200.2
    
    networks:
      default:
        ipam:
          config:
          - subnet: 172.200.200.0/24
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    6、启动查看结果

    # docker-compose up -d
    # ls emqx/data/mnesia/wielun@172.200.200.2/    # 数据存储,有对应的文件生成就正确
    
    • 1
    • 2

    7、浏览器访问

    http://IP:18083
    默认账号密码:admin/public

    在这里插入图片描述

    8、日志记录问题

    使用中发现公网环境中日志能够正常记录warning日志,但是内网环境中,日志无法记录,把日志等级修改为debug即可

    修改emqx/etc/emqx.conf:

    log.level = debug
    
    • 1
    # docker-compose restart
    
    • 1
  • 相关阅读:
    亚马逊差评怎么删?常用的几种删差评方法介绍
    ElasticSearch(es)使用游标读取全部数据
    Vue图片路径问题(动态引入)
    什么是可制造性设计?如何保证电子产品可靠性设计?
    Cy7 Tyramide,Tyramide-Cy7,花青素Cy7 酪酰胺,Cy7酪胺
    vue3后台管理系统封装的弹窗组件
    深圳考生注意!取得信息系统项目管理师证书还可以享受这些福利!
    为什么蛋白质如此重要?它可以帮助你自然地减肥!
    计算机网络 交换机的基本配置
    【利用冒泡排序的思想模拟实现qsort函数】
  • 原文地址:https://blog.csdn.net/Dream_ya/article/details/132733460