1.下載mosquitto安裝包
https://mosquitto.org/download/
2.安裝其他依賴包
yum install gcc gcc-c++ libstdc++-devel
yum install openssl-devel -y
yum install c-ares-devel -y
yum install uuid-devel -y
yum install libuuid-devel -y
3.進入到1中下載並解壓出來的文件夾中執行
make && make install
安裝好之后可進入 /etc 目錄查看
4.進入到 /etc/mosquitto 中,執行
cp mosquitto.conf.example mosquitto.conf
5.啟動mosquitto服務
mosquitto -c /etc/mosquitto/mosquitto.conf
//后台啟動
mosquitto -d -c /etc/mosquitto/mosquitto.conf
6.啟動的時候會出現以下錯誤
Error: Invalid user 'mosquitto'.
解決辦法:
修改配置文件 /etc/mosquitto/mosquitto.conf,增加登錄的用戶,例如當前登錄的用戶為root
如果增加的用戶為root運行時會出現警告如下
Mosquitto should not be run as root/administrator
改成自己命名 然后執行 adduser mosquitto
此時啟動就正常了
mosquitto 選項介紹:
-c,--config文件
從文件加載配置。 如果沒有給出,則使用mosquitto.conf(5)中描述的默認值。
-d,--daemon
在后台運行蚊子作為守護進程。 所有其他行為保持不變。
-p,--port
在指定的端口上監聽,而不是默認的1883.除了配置文件中的端口設置外,還會起作用。 可以指定多次以打開在不同端口上偵聽的多個套接字。 該套接字將綁定到所有網絡接口。
-v,--verbose
使用詳細日志記錄。 這相當於在配置文件中將log_type設置為全部。 這種覆蓋和記錄選項在配置文件中給出
訂閱主題
1執行命令
mosquitto_sub -v -t test -v打印詳細日志 -t/--topic 訂閱的主題
遇見的問題
mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
執行mosquitto客戶端程序時出現找不到動態庫:libmosquitto.so.1
解決辦法:
編譯完mosquitto之后,進入到lib目錄下,將編譯之后的libmosquitto.so.1 拷貝到目錄/usr/local/lib下,執行如下命令:
cp libmosquitto.so.1 /usr/local/lib
執行命令:
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
和
ldconfig
發布內容
命令:
mosquitto_pub -t test -m "測試mqtt"
安裝資料:
https://www.cnblogs.com/gyli20170901/p/10155900.html
調試資料:
https://blog.csdn.net/qq_29350001/article/details/76680646
錯誤資料: