EMQ X 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器,目前广泛应用于全球各行业物联网平台建设中。其设计目标是实现高可靠承载海量物联网终端的 MQTT 连接,支持在海量物联网设备间低延时消息路由。
本文将以 EMQ X v4.3.10(开源版)为例,介绍 EMQ X 在 Docker、Kubernetes、Windows 和 Linux 上的安装方法以及常见问题,为大家利用 MQTT 消息服务器快速搭建物联网平台提供帮助。
安装前检查
绝大多数情况下操作系统的环境依赖、监听端口都不会出现问题,测试环境下可以直接安装启动,EMQ X 会检查可能存在的问题并停止启动、报出错误。
但是我们仍然建议当生产环境存在升级 EMQ X 版本、升级其他服务等环境变动之后,再次启动 EMQ X 前务必进行测试和检查,避免产生不必要的损失。
检查环境依赖
常见的由于环境依赖导致的问题如下:
- OpenSSL 版本不正确:常见于 CentOS 系统上,需要更新 OpenSSL 版本
- 缺失 MSVCRxxx.dll 文件:Windows 系统特有,需要安装对应的依赖库
- 安装包与操作系统不符:EMQ X 需要对应操作系统和版本下载,否则无法启动并报
cannot execute binary file错误
更多的问题和解决方法详见:EMQ X - 常见错误
检查端口占用
端口占用会导致 EMQ X 无法启动或部分功能异常,常见的症状有:
- 执行
emqx start时提示启动超时 - 无法打开 Dashboard 或打开后一直报 404 Not Found 错误
出现以上情况,可以使用 emqx console 命令启动 EMQ X,console 模式下可以打印详细的错误日志。
EMQ X 默认情况下监听以下端口:
| 端口 | 说明 |
|---|---|
| 集群通信 | |
| 4369-4380 | 集群通信 |
| 5370-5380 | 集群 RPC 通信 |
| 协议接入 | |
| 1883 | MQTT 协议端口 |
| 11883 | MQTT 协议端口 |
| 8883 | MQTT/SSL 端口 |
| 8083 |

最低0.47元/天 解锁文章
297





