本文参考:

Linux环境(Ubuntu)上搭建MQTT服务器(EMQX )_emqx ubuntu-CSDN博客

搭建自己的MQTT服务器、实现设备上云(Windows+EMQX)_mqtt服务器搭建-CSDN博客

下面是笔者亲身经历:

一、整体流程核心总结(Ubuntu 22.04 + EMQX 5.8.9)

阶段 核心目标 关键操作
阿里云 ECS 准备 搭建基础服务器环境 申请 ECS → 配置安全组 → 远程 SSH 登录
EMQX 安装 部署开源版 MQTT 消息服务器 配置官方源 → 安装 EMQX → 启动并设置开机自启
防火墙 / 端口配置 放行核心端口,保证访问 UFW 放行 22/1883/18083 → 阿里云安全组放行相同端口
远程控制台访问 验证 EMQX 正常运行 浏览器访问 http://公网IP:18083 → 初始账号密码用admin/public登录

当在阿里云服务申请了ECS云服务后,会分配一个公网IP,比如:101.210.110.56

二、分步详细操作

1. 阿里云 ECS 基础配置

先在阿里云上购买一个ECS弹性云服务器,我的只花了99元/年。第一年很便宜的。然后选择搭载ubuntu 22.04 64bit uefi 版本,镜像更完善、源更稳。

(1)ECS 实例准备

  • 实例配置:Ubuntu 22.04 64 位、1 核 2G 及以上(满足 EMQX 运行需求);
  • 安全组预配置(关键!):入方向放行以下端口(TCP 协议,授权对象0.0.0.0/0):
    • 22 端口:SSH 远程登录;
    • 1883 端口:MQTT 核心通信端口;
    • 18083 端口:EMQX Web 控制台端口。

(2)远程登录 ECS

在阿里云上点击“远程连接”,进入你的ubuntu 服务器。

下面是服务器的界面,就是一个命令行窗口,没有图形桌面界面,但是不用担心,后边的配置和使用很简单:

2. EMQX 开源版安装(我的是5.8.9 版本)

(1)配置 EMQX 官方源

命令输入:

# 一键配置官方开源版源
curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash

(2)安装并启动 EMQX

# 更新源后安装EMQX
sudo apt update && sudo apt install -y emqx

# 启动EMQX并设置开机自启
sudo systemctl start emqx
sudo systemctl enable emqx

# 验证EMQX运行状态(显示active (running)即为成功)
sudo systemctl status emqx

# 查看EMQX版本(5.x专用)
emqx ctl status  # 输出:Node 'emqx@127.0.0.1' 5.8.9 is started

其中5.8.9就是我emqx版本号。

3. 防火墙双层防护配置(UFW + 阿里云安全组)

(1)安装并配置 UFW(系统层防火墙)

# 安装UFW
sudo apt update && sudo apt install -y ufw

# 先放行核心端口(避免SSH断连)
sudo ufw allow 22/tcp    # SSH端口
sudo ufw allow 1883/tcp  # MQTT端口
sudo ufw allow 8083/tcp  # EMQX 的 WebSocket 客户端默认连接的是 8083 端口
sudo ufw allow 18083/tcp # EMQX控制台端口

# 启用UFW(提示"Proceed with operation (y|n)?"时输入y回车)
sudo ufw enable

# 验证UFW规则(看到上述端口ALLOW即为成功)
sudo ufw status

(2)阿里云安全组确认(公网层防火墙)

  • 登录阿里云 ECS 控制台 → 实例 → 安全组 → 配置规则;
  • 确认入方向已添加:22/1883/18083 端口(TCP,0.0.0.0/0)。

下图是在阿里云ECS后台设置安全组策略,配置端口号。

4. 远程访问 EMQX Web 控制台

(1)浏览器访问

打开本地浏览器,输入:http://公网IP:18083(如http://101.201.110.56:18083)。

(2)登录验证

首次使用时的账号和密码是:

  • 用户名:admin
  • 密码:public
  • 登录后需立即修改默认密码(系统设置→用户管理→编辑 admin),提升安全性。

下面是登录后的界面。

好啦,到了这一步,EMQX就已经安装好。

至此,你已经完成了从云服务器搭建到 MQTT 消息服务器部署的全流程,整个环境稳定且安全。后续不管是做物联网开发、还是 EMQX 进阶配置,都可以基于这个基础环境展开,有任何问题随时问!欢迎关注我的抖音号,铁甲前沿

下一篇,我将会继续讲EMQX的使用。

其他

# 重启EMQX
sudo systemctl restart emqx

# 停止EMQX
sudo systemctl stop emqx

# 查看EMQX日志(排查问题)
tail -f /var/log/emqx/emqx.log

# 测试MQTT连接(需安装mosquitto客户端)
sudo apt install -y mosquitto-clients
mosquitto_pub -h 127.0.0.1 -p 1883 -t "test/topic" -m "hello EMQX"  # 发布消息
mosquitto_sub -h 127.0.0.1 -p 1883 -t "test/topic"                  # 订阅消息
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐