很多企业服务器处于内网离线环境,无法联网直接 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):
emqx 主程序 RPM 包 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/config3.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,操作步骤:
登录首页后,点击页面右上角头像/关于; 进入版本信息页面,查看产品类型; 开源版:显示 EMQX Community(社区开源版),无商业授权信息、无高级企业功能入口; 企业版:显示 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 加密、集群部署、日志分割等配置,适配正式生产项目使用。
夜雨聆风