Mosquitto


Mosquitto是一個實現了MQTT3.1協議的代理服務器,由MQTT協議創始人之一的Andy Stanford-Clark開發,它為我們提供了非常棒的輕量級數據交換的解決方案。本文的主旨在於記錄Mosquitto服務的安裝和使用,以備日后查閱。

獲取&安裝 

在Linux系統上安裝Mosquitto,本人建議大家使用源碼安裝模式,最新的源碼可從 http://mosquitto.org/files/source/ 地址中獲取。解壓之后,我們可以在源碼目錄里面找到主要的配置文件config.mk,其中包含了所有Mosquitto的安裝選項,詳細的參數說明如下: 

# 是否支持tcpd/libwrap功能.
WITH_WRAP:=yes
# 是否開啟SSL/TLS支持
WITH_TLS:=yes
# 是否開啟TLS/PSK支持
WITH_TLS_PSK:=yes
# Comment out to disable client client threading support.
WITH_THREADING:=yes
# 是否使用嚴格的協議版本(老版本兼容會有點問題)
WITH_STRICT_PROTOCOL:=yes
# 是否開啟橋接模式
WITH_BRIDGE:=yes
# 是否開啟持久化功能
WITH_PERSISTENCE:=yes
# 是否監控運行狀態
WITH_MEMORY_TRACKING:=yes

由於是測試環境,所以關閉SSL/TLS

# 是否開啟SSL/TLS支持
#WITH_TLS:=yes
# 是否開啟TLS/PSK支持
#WITH_TLS_PSK:=yes

在安裝過程中報如下信息

handle_connect.c:33:25: fatal error: uuid/uuid.h: No such file or directory

需要執行如下命令

yum install libuuid-devel

執行安裝命令

make
make install

安裝完成后

cd /etc/mosquitto
cp mosquitto.conf.example mosquitto.conf

執行命令

mosquitto -c /etc/mosquitto/mosquitto.conf

如果報如下異常

1546572122: Error: Invalid user 'mosquitto'.

新增用戶

adduser mosquitto

開啟客戶端進行訂閱

mosquitto_sub -v -t test

執行客戶端時報錯

mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory

執行

cp libmosquitto.so.1 /usr/local/lib
ln
-s /usr/local/lib/libmosquitto.so.1 /usr/local/lib/libmosquitto.so.1
ldconfig

開啟客戶端執行發布

mosquitto_pub -t topic01 -m 1111111

訂閱客戶端收到如下信息

topic01 1111111

驗證完成


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM