1. 简介EMQX 是一款大规模可弹性伸缩的云原生分布式物联网 MQTT 消息服务器。它支持千万级并发连接是构建物联网(IoT)平台的首选 MQTT Broker 之一。本文档将详细指导如何在 Linux 云服务器上安装、配置并加固 EMQX 服务器。2. 环境准备与前置条件2.1 服务器要求操作系统推荐使用 Ubuntu 20.04/22.04 LTS 或 CentOS 7/8/9、Debian 11/12。本教程以最常用的Ubuntu 22.04 LTS为例。资源配置最低建议 2核 CPU4GB 内存测试环境可为 1C2G。2.2 云服务器安全组/防火墙设置 (重要)在开始安装之前必须在云服务商如阿里云、腾讯云、AWS等控制台中为该服务器的安全组开放以下端口端口协议说明1883TCPMQTT 协议端口设备端主要连接端口8883TCPMQTT/SSL 端口加密连接8083TCPMQTT/WebSocket 端口Web端/小程序连接8084TCPMQTT/WebSocket with SSL 端口18083TCPEMQX Dashboard Web 管理控制台端口3. EMQX 安装步骤EMQX 提供了多种安装方式APT/YUM 源码、Docker 等。推荐使用官方提供的包管理器进行安装方便后续通过 systemctl 作为系统服务管理。3.1 通过 APT 存储库安装 (适用于 Ubuntu/Debian)配置 EMQX 官方 APT 源打开终端执行以下一键脚本配置存储库curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash安装 EMQXsudo apt-get install emqx -y(注如果使用的是 CentOS/RHEL可以使用对应的 YUM 脚本curl -s https://assets.emqx.com/scripts/install-emqx-rpm.sh | sudo bash然后 sudo yum install emqx -y)3.2 启动并验证服务启动 EMQX 服务sudo systemctl start emqx设置开机自启sudo systemctl enable emqx查看运行状态sudo systemctl status emqx如果看到 Active: active (running)则说明启动成功。4. Dashboard (Web 管理控制台) 设置EMQX 提供了一个功能强大的 Web 界面我们的大部分日常管理和安全设置都可以在这里完成。4.1 访问 Dashboard打开浏览器访问http://云服务器公网IP:180834.2 初始登录与密码修改默认用户名admin默认密码public首次登录时系统会强制要求修改密码。请设置一个强密码包含大小写字母、数字和特殊字符并妥善保存。5. 核心安全配置 (禁止匿名与开启认证)默认情况下EMQX 允许任何客户端无需密码即可连接即匿名访问这在公网云服务器上是非常危险的。我们需要关闭匿名访问并添加客户端认证。5.1 关闭匿名访问由于我们在使用 EMQX 5.x可以通过 Dashboard 方便地配置登录 Dashboard。左侧菜单栏点击访问控制 (Access Control)-客户端认证 (Authentication)。此时列表为空。虽然可以通过配置文件关闭匿名但在 5.x 中只要我们创建了任何一个认证器EMQX 就会自动默认拒绝未通过认证的连接。不过为了绝对安全我们可以进行全局设置。左侧菜单点击配置 (Configuration)-MQTT。找到Allow Anonymous (允许匿名)选项将其切换为关闭 (false)。点击底部的保存。5.2 配置密码认证 (Built-in Database)最常用的认证方式是基于内置数据库的用户名/密码认证左侧菜单栏点击访问控制 (Access Control)-客户端认证 (Authentication)。点击右上角的创建 (Create)。认证机制选择 Password-Based点击 下一步。数据源选择 Built-in Database (内置数据库)点击 下一步。用户类型可以选择 Username 或 Client ID推荐 Username。密码加密方式保持默认的 sha256 即可点击创建。5.3 添加 MQTT 设备账号创建好认证器后我们需要为设备分配账号在刚刚创建的 Built-in Database 认证器右侧点击用户 (Users)按钮。点击添加 (Add)。输入想分配给设备的Username (用户名)和Password (密码)。(例如Username 设为 test_devicePassword 设为 123)点击保存。现在设备只有使用这组账号密码才能连接到该服务器。6. 高级配置配置文件说明虽然 EMQX 5.x 推荐使用 Dashboard 进行热配置但了解底层配置文件依然很有必要。主配置文件路径/etc/emqx/emqx.confEMQX 5 采用 HOCON 格式配置。可以使用 nano 或 vim 查看sudo vim /etc/emqx/emqx.conf在 Dashboard 中修改的配置会被覆盖写入到 emqx.conf 所在目录下的 cluster.hocon 文件中并优先生效。7. 客户端连接测试推荐使用开源工具MQTTX(提供桌面版和网页版) 来测试我们的服务器是否配置成功。下载并安装 MQTTX。点击 “ 新建连接”。名称随意填写例如 My_Cloud_EMQX。Client ID保持默认随机生成的即可。Host (主机)选择 mqtt://并填入云服务器公网 IP 地址。Port (端口)1883。Username (用户名)填入我们在 5.3 步骤中创建的 test_device_1。Password (密码)填入我们在 5.3 步骤中创建的密码。点击右上角的连接 (Connect)。如果显示绿色的 “Connected”则 EMQX 服务器已经成功在云服务器上部署并安全运行了。可以尝试添加订阅 (New Subscription) 和发布消息 (Publish) 来测试消息收发。8. 常用管理命令参考操作命令启动 EMQXsudo systemctl start emqx停止 EMQXsudo systemctl stop emqx重启 EMQXsudo systemctl restart emqx查看状态sudo systemctl status emqx重置 Dashboard 密码sudo emqx ctl admins passwd admin 新密码卸载 EMQXsudo apt-get purge emqx -y文档修订说明基于 EMQX 5.x 编写。如需使用集群功能或 TLS/SSL 证书配置请参考 EMQX 官方高级文档进行扩展。