MQTT-mosquitto
安裝
sudo apt install mosquitto mosquitto-clients
安裝完成后,直接運(yùn)行mosquitto顯示
bash: mosquitto: 未找到命令
按照AI說(shuō)明
``bash
sudo find /usr -name "mosquitto*" -type f -executable 2>/dev/null
/usr/bin/mosquitto_rr
/usr/bin/mosquitto_pub
/usr/bin/mosquitto_passwd
/usr/bin/mosquitto_ctrl
/usr/bin/mosquitto_sub
/usr/sbin/mosquitto
找到可執(zhí)行文件在`/usr/sbin/mosquitto`
再通過(guò)查看主配置文件
```bash
sudo cat /etc/mosquitto/mosquitto.conf
# Place your local configuration in /etc/mosquitto/conf.d/
...
include_dir /etc/mosquitto/conf.d
查到自定義配置存放在/etc/mosquitto/conf.d/路徑下
在 conf.d 目錄下創(chuàng)建一個(gè)新配置文件,啟用 WebSocket
sudo nano /etc/mosquitto/conf.d/websockets.conf
復(fù)制
# 啟用 WebSocket 支持
listener 9001
protocol websockets
# 可選:也保留 TCP 支持(非必須)
listener 1883
重啟 Mosquitto 服務(wù)
sudo systemctl restart mosquitto
查看狀態(tài)
sudo systemctl status mosquitto
確認(rèn)端口監(jiān)聽(tīng)
ss -tuln | grep 9001
tcp 0 0 0.0.0.0:9001 0.0.0.0:* LISTEN
訂閱主題測(cè)試
mosquitto_sub -h localhost -p 1883 -t 'test/topic'
再開(kāi)個(gè)終端發(fā)布消息
mosquitto_pub -h localhost -p 1883 -t 'test/topic' -m 'Hello from MQTT!'
坑=============
連接被拒
mosquitto_sub -h localhost -p 1883 -t 'test/topic'
Connection error: Connection Refused: not authorised.
設(shè)置允許匿名連接(已測(cè)試)
配置文件
sudo nano /etc/mosquitto/conf.d/anonymous.conf
添加內(nèi)容
# 允許匿名訪問(wèn)(僅用于測(cè)試)
allow_anonymous true
重啟服務(wù)
sudo systemctl restart mosquitto
啟用用戶(hù)名密碼認(rèn)證(未測(cè)試)
sudo mosquitto_passwd -c /etc/mosquitto/passwd youruser
創(chuàng)建認(rèn)證配置
sudo nano /etc/mosquitto/conf.d/auth.conf
內(nèi)容
allow_anonymous false
password_file /etc/mosquitto/passwd
重啟服務(wù)
sudo systemctl restart mosquitto
測(cè)試
mosquitto_sub -h localhost -p 1883 -t 'test/topic' -u youruser -P yourpassword

浙公網(wǎng)安備 33010602011771號(hào)