Skip to content

EMQX

Office Web - Source - Docker Image - Document


EMQX 是一款「无限连接,任意集成,随处运行」的大规模分布式物联网接入平台,同时作为一个高性能、可扩展的 MQTT 消息服务器,它可以为物联网(IoT)应用提供可靠的实时消息传输和设备连接解决方案。EMQX 累计拥有来自 50 多个国家的 20,000 多家企业用户,连接全球超过 1 亿台物联网设备,服务企业数字化、实时化、智能化转型。


配置

  • 放开端口:1883,8883,8083,8084,18083,18084

  • 配置文件:/opt/emqx/etc/emqx.conf

  • 环境变量

  • 首次登录

    bash
    默认账号:admin
    默认密码:public
  • 忘记密码

    bash
    docker exec -it emqx emqx ctl admins passwd <Username> <Password>
    docker exec -it emqx emqx ctl admin <Username> <New Password>
  • TLS 配置(MQTTS)单向

    1. 修改 .env 配置文件,去除 # 注释
    bash
    EMQX_LISTENERS__SSL__DEFAULT__BIND=0.0.0.0:8883
    EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__KEYFILE=/etc/emqx/certs/emqx.key
    EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__CERTFILE=/etc/emqx/certs/emqx.cer
    EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__CACERTFILE=
    EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__VERIFY=verify_none
    EMQX_LISTENERS__SSL__DEFAULT__SSL_OPTIONS__FAIL_IF_NO_PEER_CERT=false
    1. 将以下的证书对应的 key 和 cer 路径替换为自己的证书路径
    yaml
    volumes:
     - /srv/acme/ssl/emqx.io.key:/etc/emqx/certs/emqx.key
     - /srv/acme/ssl/emqx.io.fullchain.cer:/etc/emqx/certs/emqx.cer
  • WSS 配置

    1. 修改 .env 配置文件,去除 # 注释
    bash
    EMQX_LISTENERS__WSS__DEFAULT__BIND=0.0.0.0:8084
    EMQX_LISTENERS__WSS__DEFAULT__MAX_CONNECTIONS=1024000
    EMQX_LISTENERS__WSS__DEFAULT__WEBSOCKET__MQTT_PATH="/mqtt"
    EMQX_LISTENERS__WSS__DEFAULT__SSL_OPTIONS__CERTFILE=/etc/emqx/certs/emqx.cer
    EMQX_LISTENERS__WSS__DEFAULT__SSL_OPTIONS__KEYFILE=/etc/emqx/certs/emqx.key
    EMQX_LISTENERS__WSS__DEFAULT__SSL_OPTIONS__CACERTFILE=
  • DASHBOARD 配置

    1. 修改 .env 配置文件,去除 # 注释
    bash
    #EMQX_DASHBOARD__LISTENERS__HTTPS__BIND=0.0.0.0:18084
    #EMQX_DASHBOARD__LISTENERS__HTTPS__SSL_OPTIONS__CERTFILE=/etc/emqx/certs/emqx.cer
    #EMQX_DASHBOARD__LISTENERS__HTTPS__SSL_OPTIONS__KEYFILE=/etc/emqx/certs/emqx.key

运行

bash
docker compose up -d
chmod -R 777 ./data

客户端连接密码设置

Released under the Apache-2.0 License.