乐于分享
好东西不私藏

超详细!CentOS7 离线 RPM 安装 EMQX 开源版完整教程

超详细!CentOS7 离线 RPM 安装 EMQX 开源版完整教程
在物联网、设备通信、消息推送项目中,EMQX是目前最主流的开源 MQTT 消息服务器,凭借高并发、低延迟、分布式部署的优势,成为绝大多数项目的首选中间件。

很多企业服务器处于内网离线环境,无法联网直接 yum 在线安装、无法配置 YUM 源,因此RPM 离线安装是最稳妥、最常用的部署方式。

今天这篇教程,手把手带大家在CentOS 7 系统下,完成EMQX 开源版离线 RPM 完整安装、配置、开机自启、防火墙放行、故障排查,每一步指令可直接复制使用,零基础也能一次性部署成功。


一、教程适用环境

  • 操作系统:CentOS 7.x 全系(7.6/7.9 通用)
  • 部署方式:纯离线 RPM 包安装(无外网、无 YUM 源)
  • 软件版本:EMQX 开源社区版(免费商用)
  • 架构:x86_64 服务器架构

前置说明:离线安装核心难点是 依赖缺失,本文会提前解决所有依赖问题,全程无报错、无依赖缺失问题。


二、前期准备:离线包下载(外网机器操作)

离线环境无法下载,需要提前在能上网的电脑下载好所有安装包,再上传至内网 CentOS7 服务器。

2.1 下载 EMQX 官方 RPM 包

EMQX 官方下载地址(CentOS7 专用):

https://www.emqx.com/zh/downloads/broker

选择规则:

  • 系统选择:CentOS 7
  • 架构选择:amd64(x86_64)
  • 版本推荐:稳定版 5.x 系列(本文以最新稳定版为例,所有 5.x 版本操作通用)

下载后得到包名示例:emqx-5.x.x-el7-amd64.rpm

2.2 下载离线依赖包(关键)

EMQX 在 CentOS7 下运行必须依赖libaio库,离线环境默认未安装,会导致安装失败、启动报错。

外网机器下载 CentOS7 对应的 libaio 离线 RPM 包,或从同版本 CentOS7 服务器拷贝:

依赖包:libaio-0.3.109-13.el7.x86_64.rpm

2.3 文件上传服务器

将以下两个文件上传至内网 CentOS7 服务器任意目录(推荐 /usr/local/soft):

  1. emqx 主程序 RPM 包
  2. libaio 依赖 RPM 包

服务器新建存放目录(服务器端执行):

mkdir -p /usr/local/soft/emqxcd /usr/local/soft/emqx

上传完成后,通过 ls 命令确认文件存在。


三、系统环境预处理(必做)

3.1 查看系统版本确认兼容性

cat /etc/redhat-release

输出显示 CentOS 7 系列即可继续安装。

3.2 关闭 SELinux(避免权限拦截)

临时关闭(重启失效):

setenforce 0

永久关闭(重启生效):

sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3.3 检查内存与磁盘

EMQX 最低运行要求:内存 ≥1G,磁盘 ≥5G

# 查看内存free -h# 查看磁盘df -h

四、离线安装依赖包(核心步骤)

进入文件存放目录,先安装依赖,再安装主程序,严格遵守顺序。

cd /usr/local/soft/emqx# 安装 libaio 依赖rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm

安装成功提示:complete

验证依赖是否安装成功:

rpm -qa | grep libaio

有版本输出即为正常。


五、离线安装 EMQX 开源版

5.1 执行 RPM 离线安装

替换为你实际的 EMQX 包名,执行安装:

rpm -ivh emqx-5.x.x-el7-amd64.rpm

参数说明:

  • -i
    :安装软件
  • -v
    :显示详细过程
  • -h
    :显示安装进度条

常见问题:先装依赖再装主程序,可 100% 规避 依赖缺失、安装中断 问题。

5.2 验证 EMQX 安装成功

# 查看安装的 emqx 版本rpm -qa | grep emqx# 查看 emqx 安装信息emqx version

输出版本号,说明安装完成。

5.3 EMQX 默认安装目录(重要)

  • 程序目录:/usr/lib/emqx
  • 配置文件目录:/etc/emqx
  • 日志目录:/var/log/emqx
  • 数据目录:/var/lib/emqx
  • 系统服务:systemd 托管

六、EMQX 服务启停与开机自启配置

6.1 基础启停命令

# 启动服务systemctl start emqx# 停止服务systemctl stop emqx# 重启服务systemctl restart emqx# 查看运行状态systemctl status emqx

状态显示 active (running) 即为运行正常。

6.2 设置开机自启(生产环境必配)

# 开启开机自启systemctl enable emqx# 查看自启状态systemctl is-enabled emqx

输出 enabled 代表开机自动启动成功。


七、防火墙端口放行(外网访问必备)

CentOS7 默认开启防火墙,不放行端口会导致外网无法连接 MQTT、无法访问控制台

7.1 EMQX 核心端口说明

  • 1883:MQTT 标准通信端口(设备连接端口)
  • 8083:WebSocket MQTT 端口
  • 18083:EMQX 可视化控制台端口

7.2 放行防火墙端口

# 放行核心端口firewall-cmd --permanent --add-port=1883/tcpfirewall-cmd --permanent --add-port=8083/tcpfirewall-cmd --permanent --add-port=18083/tcp# 重载防火墙生效firewall-cmd --reload# 查看已放行端口firewall-cmd --list-ports

八、访问 EMQX 可视化控制台

8.1 访问地址

浏览器打开:http://服务器IP:18083

8.2 默认账号密码

  • 用户名:admin
  • 密码:public

安全建议:首次登录后立即修改默认密码,避免裸奔被攻击。

8.3 控制台功能

可在线查看设备连接数、消息收发速率、主题订阅、客户端状态、日志监控等,完全可视化运维。


九、基础配置修改(可选)

核心配置文件路径:/etc/emqx/emqx.conf

常用修改:端口、最大连接数、心跳时间、匿名访问等。

修改配置后重启服务生效:

systemctl restart emqx

十、离线卸载 EMQX(备用)

如需重装或卸载,执行以下命令:

# 停止服务systemctl stop emqx# 卸载程序rpm -e emqx# 如需彻底清除配置和日志(谨慎操作)rm -rf /etc/emqx /var/log/emqx /var/lib/emqx

十一、常见报错与故障排查

问题1:rpm 安装提示依赖缺失

原因:未安装 libaio 依赖,解决方案:返回第四步离线安装依赖包。

问题2:服务启动成功,外网无法访问

原因:防火墙未放行端口 / 云服务器安全组未开放对应端口,放行 1883、18083 端口即可。

问题3:systemctl status 显示启动失败

排查命令:

journalctl -u emqx -f

根据日志提示解决权限、端口占用、内存不足等问题。


十二、如何查看当前 EMQX 是否为开源版本(实操校验)

EMQX 分为开源社区版企业商业版,本次离线 RPM 安装包默认是开源版,下面提供 3 种 100% 精准的校验方法,快速确认版本类型,适配生产环境核验需求。

12.1 命令行快速查看(最简单、推荐)

服务器执行版本查看命令,可直接区分开源/企业版:

emqx version

开源版输出特征:内容包含Open Source、Community 字样,仅显示版本号、编译时间,无 Enterprise(企业版)标识。

企业版输出特征:会明确标注 Enterprise、商业授权、授权到期时间等信息。

12.2 控制台页面核验(可视化直观查看)

登录 EMQX 后台控制台 http://服务器IP:18083,操作步骤:

  1. 登录首页后,点击页面右上角头像/关于
  2. 进入版本信息页面,查看产品类型;
  3. 开源版:显示 EMQX Community(社区开源版),无商业授权信息、无高级企业功能入口;
  4. 企业版:显示 EMQX Enterprise,附带授权证书、节点限额、商业功能模块。

12.3 RPM 包与功能特征核验(离线精准校验)

结合本次离线安装包特性,可通过包名和功能双重确认:

  • 包名特征:本次安装的 emqx-5.x.x-el7-amd64.rpm 官方标准版 RPM 包,均为开源社区版,带 enterprise 标识的才是企业版安装包;
  • 功能限制:开源版默认最大支持 3 节点集群、仅基础认证与简单 ACL 权限,无商业高可用、高级规则引擎、审计日志、技术支持等企业专属功能,符合开源版特性。

补充说明:EMQX 开源社区版基于 Apache2.0 协议,免费可商用,无版权风险,完全满足中小型项目、内网物联网项目使用需求。

十三、教程总结

本篇教程完整实现了CentOS7 纯离线环境 RPM 安装 EMQX 开源版,从包下载、依赖安装、程序部署、服务自启、防火墙配置、控制台访问、开源版本核验到故障排查,全覆盖无遗漏,完全适配内网生产环境。

离线部署的核心要点:先装依赖、再装主程序、放行端口、配置自启、核验版本,按照步骤操作可一次部署成功。

后续可以搭配 EMQX 权限认证、SSL 加密、集群部署、日志分割等配置,适配正式生产项目使用。

本篇教程完整实现了CentOS7 纯离线环境 RPM 安装 EMQX 开源版,从包下载、依赖安装、程序部署、服务自启、防火墙配置、控制台访问到故障排查,全覆盖无遗漏,完全适配内网生产环境。

离线部署的核心要点:先装依赖、再装主程序、放行端口、配置自启,按照步骤操作可一次部署成功。

后续可以搭配 EMQX 权限认证、SSL 加密、集群部署、日志分割等配置,适配正式生产项目使用。