MQTT服务器搭建(一)

King
King
发布于 2026-04-18 / 12 阅读
0
0

MQTT服务器搭建(一)

Mosquitto是最轻量、最流行的开源MQTT Broker-9-5。在ECS上安装非常简单:

1 下载Mosquitto

sudo apt-get update
sudo apt-get install -y mosquitto mosquitto-clients

安装后,Mosquitto会自动启动,默认监听1883端口

2 配置安全组

给服务器开放1883端口

端口

协议

授权对象

用途

1883

TCP

0.0.0.0

MQTT

3 配置允许外部访问

3.1 修改配置文件

默认情况下,Mosquitto只允许本机访问,我们需要修改其配置文件:

sudo nano /etc/mosquitto/mosquitto.conf

加入最后两行代码:

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d
listener 1883 0.0.0.0
allow_anonymous true

0.0.0.0表示在任何位置允许通过1883端口访问,allow_anonymous true表示MQTT不需要密码验证

Ctrl+O(保存)Enter(确定)Ctrl+X(退出)

3.2 重启mosquitto服务

sudo systemctl restart mosquitto

3.3 检查状态

sudo systemctl status mosquitto

看到 active (running) 绿色字样即成功

3.4 再确认端口监听

sudo netstat -tlnp | grep 1883

应该看到:

tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      1234/mosquitto

这样,我们的MQTT就搭好了,可以下载MQTTX进行模拟测试https://mqttx.app/

4 总结

但是,现在设置的是允许匿名访问,这意味着任何人只要知道服务器的IP就能连接、发布/订阅消息(不需要密码),为了安全考虑,我们最好为MQTT的每个连接创建对应的用户名和密码,只有输入正确的用户名和密码才能与MQTT建立通信,下期教程中我们详细讲解如何为MQTT创建用户名密码。

阶段

设置

原因

测试阶段

allow_anonymous true

简化测试,先确保通信正常

正式使用

allow_anonymous false + 设置用户名密码

防止未授权访问


评论