1. emqx docker安装以及持久化配置

emqx介绍

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 或私有协议支持。

mqtt协议遵循pub/sub机制,可根据topic实现广播、点对点等功能,可用于物联网网关网站广播等相关业务场景

安装前须知

  • 需要安装docker环境
  • 需要安装docker-compose

docker-compose文件

测试的话,单节点即可,18083是emqx控制台端口,1883是MQTT/TCP 协议端口,具体可参考官方文档

volumes:
  emqx_node1-emqx-data:
  emqx_node1-emqx-etc:
  emqx_node1-emqx-log:

version: "3"
services:
  emqx1:
    image: emqx/emqx:latest
    restart: always
    environment:
      EMQX_NAME: emqx_node1
      EMQX_HOST: emqx_node1.gitliuyi.top
    ports:
    - "18083:18083"
    - "1883:1883"
    volumes:
      # 持久化配置,主要针对data以及etc和log目录,这里使用全局的volume方式
      # 也就是docker会自动根据顶级volumes创建相关卷,至于具体卷在宿主机的路径可使用相关命令查询
      # docker volume ls
      # docker volume inspect ${卷名称}
      - emqx_node1-emqx-data:/opt/emqx/data
      - emqx_node1-emqx-etc:/opt/emqx/etc
      - emqx_node1-emqx-log:/opt/emqx/log

执行 docker-compose up -d 即可

安装完成以后可打开 http://IP:18083 进行控制台访问,默认用户名admin,默认密码public,可自行进行更改。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
EMQX docker持久可以通过修改EMQX配置文件和使用docker-compose实现。具体步骤如下: 1. 修改EMQX配置文件:在emqx/etc/emqx.conf中添加以下内容: persistence.client_session.clean_interval = 7200s persistence.client_session.max_inflight = 65535 persistence.client_session.queue_qos0_messages = false persistence.client_session.queue_qos1_messages = true persistence.client_session.queue_qos2_messages = true persistence.offline_message.max_inflight = 1000000 persistence.offline_message.queue_qos0_messages = false persistence.offline_message.queue_qos1_messages = true persistence.offline_message.queue_qos2_messages = true persistence.subscription.max_inflight = 65535 persistence.subscription.queue_qos0_messages = false persistence.subscription.queue_qos1_messages = true persistence.subscription.queue_qos2_messages = true persistence.retained_message.max_inflight = 1000000 persistence.retained_message.queue_qos0_messages = false persistence.retained_message.queue_qos1_messages = true persistence.retained_message.queue_qos2_messages = true log.console = file log.console.level = debug log.console.file = /emqx/log/console.log log.error = file log.error.level = error log.error.file = /emqx/log/error.log log.crash = file log.crash.file = /emqx/log/crash.log log.crash.maximum_size = 10MB log.crash.maximum_rotation = 10 2. 创建docker-compose.yml文件:在该文件中添加以下内容: version: '3' services: emqx: image: emqx/emqx:latest container_name: emqx restart: always ports: - "1883:1883" - "8883:8883" - "8083:8083" - "18083:18083" volumes: - ./emqx/data:/opt/emqx/data - ./emqx/log:/opt/emqx/log - ./emqx/etc:/opt/emqx/etc 3. 创建redis文件夹和redis.conf文件:在redis文件夹中创建redis.conf文件,并添加以下内容: appendonly yes appendfsync everysec 4. 启动集群:在终端中运行docker-compose up命令启动EMQX集群。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值