在 Alibaba Cloud Linux 3.2104(64位) 上安装 EMQX(Erlang/Enterprise Message Queue eXchange) 是完全可行的。EMQX 是一个开源的 MQTT 消息中间件,适用于物联网、车联网等场景。
以下是在 Alibaba Cloud Linux 3.2104 系统上安装 EMQX 的详细步骤:
✅ 一、环境准备
确保你的系统已经更新到最新版本,并安装必要的依赖:
sudo dnf update -y
安装一些基础工具(可选):
sudo dnf install -y wget curl unzip
✅ 二、安装方式选择
你可以选择以下任意一种方式安装 EMQX:
方法一:使用 RPM 包安装(推荐)
1. 下载 EMQX RPM 包
前往 EMQX 官方下载页面 获取最新版本链接。
以 EMQX 5.x 为例(截至2025年,EMQX 5.7 是较新版本):
wget https://github.com/emqx/emqx/releases/download/v5.7.0/emqx-ubuntu20.04-v5.7.0-amd64.rpm
注意:虽然这是 Ubuntu 的包,但可以兼容基于 RHEL/CentOS 的 Alibaba Cloud Linux。
2. 安装 RPM 包
sudo dnf install -y ./emqx-ubuntu20.04-v5.7.0-amd64.rpm
如果提示缺少依赖,可以尝试用
yum替代:sudo yum localinstall emqx-ubuntu20.04-v5.7.0-amd64.rpm
方法二:使用源码编译安装(高级用户)
如果你需要定制功能或特定配置,可以从 GitHub 克隆源码进行构建:
git clone https://github.com/emqx/emqx.git
cd emqx
make
这需要 Erlang/OTP 25+ 和相关构建工具支持,建议只用于开发或调试。
✅ 三、启动 EMQX 服务
启动服务:
sudo systemctl start emqx
设置开机自启:
sudo systemctl enable emqx
查看状态:
sudo systemctl status emqx
如果显示 active (running),说明服务已正常运行。
✅ 四、访问 EMQX 管理控制台
默认情况下,EMQX 提供了一个 Web 管理界面:
- 地址:http://:18083
- 默认用户名:admin
- 默认密码:public
首次登录后请立即修改密码!
✅ 五、开放防火墙端口(如开启防火墙)
如果你的服务器启用了 firewalld 或其他防火墙,请放行以下端口:
sudo firewall-cmd --permanent --add-port=1883/tcp # MQTT 默认端口
sudo firewall-cmd --permanent --add-port=8883/tcp # MQTT SSL
sudo firewall-cmd --permanent --add-port=8083/tcp # 管理控制台
sudo firewall-cmd --permanent --add-port=8084/tcp # WebSocket
sudo firewall-cmd --reload
✅ 六、测试连接
你可以使用 mosquitto_pub 和 mosquitto_sub 工具进行测试:
sudo dnf install -y mosquitto-clients
# 订阅主题
mosquitto_sub -h localhost -t "test"
# 发布消息
mosquitto_pub -h localhost -t "test" -m "Hello EMQX"
✅ 七、查看日志
EMQX 日志通常位于 /var/log/emqx/ 目录下:
tail -f /var/log/emqx/emqx.log
✅ 八、常见问题
| 问题 | 解决方案 |
|---|---|
| 启动失败 | 检查是否占用 1883、18083 端口;检查 /etc/emqx/emqx.conf 配置文件 |
| 控制台无法访问 | 检查安全组规则和防火墙设置 |
| MQTT 客户端无法连接 | 检查 broker IP 是否为 0.0.0.0 而非 127.0.0.1 |
✅ 总结
你现在已经在 Alibaba Cloud Linux 3.2104 64位服务器 成功安装并运行了 EMQX MQTT Broker,可以通过 Web 控制台管理设备连接、发布订阅消息、配置认证授权等。
如需生产部署,建议进一步配置 SSL/TLS 加密、认证插件(如 MySQL、Redis)、集群等高级功能。
如需我帮你写一个自动化安装脚本或者配置 EMQX 集群、SSL、认证插件等,请继续提问!
CLOUD技术博