Mosquitto MQTT Broker
Mosquitto 是轻量级 MQTT Broker,适合边缘设备、单机和中小规模 IoT 场景。配置文件通常位于 /etc/mosquitto/mosquitto.conf,默认端口 1883,TLS 8883。
启动并前台调试:
mosquitto -c /etc/mosquitto/mosquitto.conf -v
创建密码文件:
mosquitto_passwd -c /etc/mosquitto/passwd app
mosquitto_passwd -b /etc/mosquitto/passwd sensor '***'
基础配置:
cat > /etc/mosquitto/mosquitto.conf <<'EOF'
listener 1883 0.0.0.0
allow_anonymous false
password_file /etc/mosquitto/passwd
acl_file /etc/mosquitto/acl
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
EOF
ACL 示例:
cat > /etc/mosquitto/acl <<'EOF'
user app
topic readwrite sensors/#
user sensor
topic write sensors/room1/#
EOF
订阅与发布:
mosquitto_sub -h broker -u app -P '***' -t 'sensors/#' -v
mosquitto_pub -h broker -u sensor -P '***' -t 'sensors/room1/temp' -m '23.5' -q 1
TLS 监听:
listener 8883
cafile /etc/mosquitto/certs/ca.crt
certfile /etc/mosquitto/certs/server.crt
keyfile /etc/mosquitto/certs/server.key
allow_anonymous true 且公网暴露,任何人都能发布消息。