【QingHub】EMQX单节点一键部署

时间:2024-04-12 18:25:17

EMQX 简介

EMQX是全球最具扩展性的开源MQTT 代理,具有高性能,可在 1 个集群中连接 1 亿多个 IoT 设备,同时保持每秒 100 万条消息的吞吐量和亚毫秒级的延迟。
EMQX 支持MQTT、HTTP、QUIC、WebSocket等多种开放标准协议。它 100% 符合MQTT 5.0和 3.x 标准,并通过 TLS/SSL和各种身份验证机制确保与 MQTT 的双向通信安全。
借助内置的强大的基于 SQL 的规则引擎,EMQX 可以实时提取、过滤、丰富和转换物联网数据。此外,它通过无主分布式架构确保高可用性和水平可扩展性,并提供操作友好的用户体验和良好的可观察性。

配置

所有 EMQX 配置都在/etc/emqx.conf,可以通过环境变量进行配置。
默认情况下,带有前缀的环境变量EMQX_会映射到配置文件中的键值对。
您可以通过覆盖来更改前缀HOCON_ENV_OVERRIDE_PREFIX。
例子:

EMQX_LISTENERS__SSL__DEFAULT__ACCEPTORS <--> listeners.ssl.default.acceptors
EMQX_ZONES__DEFAULT__MQTT__MAX_PACKET_SIZE <--> zones.default.mqtt.max_packet_size
  • 前缀EMQX_已删除
  • 所有大写字母均替换为小写字母
  • __被替换为.

如果HOCON_ENV_OVERRIDE_PREFIX=DEV_

DEV_LISTENER__SSL__EXTERNAL__ACCEPTORS <--> listener.ssl.external.acceptors
DEV_MQTT__MAX_PACKET_SIZE              <--> mqtt.max_packet_size
DEV_LISTENERS__TCP__DEFAULT__BIND      <--> listeners.tcp.default.bind

例如,将 MQTT TCP 端口设置为 1883:

$ docker run -d --name emqx -e DEV_LISTENERS__TCP__DEFAULT__BIND=1883 -p 18083:18083 -p 1883:1883 emqx/emqx:latest

有关 EMQX 配置的更多信息,请阅读官方文档。

EMQX 节点名称配置
选项 默认 映射 描述
EMQX_NAME 容器名称 没有任何 EMQX 节点短名称
EMQX_HOST 容器IP 没有任何 EMQX 节点主机、IP 或 FQDN

这些环境变量仅在容器启动阶段在docker-entrypoint.sh中使用。
如果EMQX_NAME和EMQX_HOST已设置,并且EMQX_NODE_NAME未设置,则EMQX_NODE_NAME= E M Q X N A M E @ EMQX_NAME@ EMQXNAME@EMQX_HOST。否则EMQX_NODE_NAME逐字记录。

QingHub Studio】 一键部署EMQX 单节点

image.png
你可以通过QingHub Studio 套件直接安装部署,也可以手动按文档操作,该项目已经全面开源,可以从如下环境获取
开源地址: https://gitee.com/qingplus/qingcloud-platform
QingHub Studio集成开发套件