Mosquitto是最轻量、最流行的开源MQTT Broker-9-5。在ECS上安装非常简单:
1 下载Mosquitto
sudo apt-get update
sudo apt-get install -y mosquitto mosquitto-clients安装后,Mosquitto会自动启动,默认监听1883端口
2 配置安全组
给服务器开放1883端口
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 true0.0.0.0表示在任何位置允许通过1883端口访问,allow_anonymous true表示MQTT不需要密码验证
Ctrl+O(保存)Enter(确定)Ctrl+X(退出)
3.2 重启mosquitto服务
sudo systemctl restart mosquitto3.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创建用户名密码。