Mosquitto是一個實現了MQTT3.1協議的代理服務器,由MQTT協議創始人之一的Andy Stanford-Clark開發,它為我們提供了非常棒的輕量級數據交換的解決方案。 下載地址是: http://mosquitto.org/download/
這里我們使用源碼安裝方式,下載版本是:mosquitto-1.3.5.tar.gz
安裝腳本如下:
yum -y install gcc-c++ cmake openssl-devel
tar zxfv mosquitto-1.3.5.tar.gz
cd mosquitto-1.3.5
make WITH_SRV=no && make install prefix=/data/server/mqtt
接下來我們需要稍微配置一下。
第一步:添加啟動用戶
groupadd mosquitto
useradd -g mosquitto mosquitto -s /sbin/nologin
第二步:復制配置文件
cd /etc/mosquitto
cp mosquitto.conf.example mosquitto.conf
第三步: 啟動代理服務
cd /data/server/mqtt/sbin
./mosquitto -c /etc/mosquitto/mosquitto.conf -d -v
如果沒有開啟 1883 端口的話, 提前開啟后在啟動 mosquitto!
當然我們可以查看一下進程:ps -aux | grep mosquitto
接下來我們需要測試一下訂閱/發布的功能,首先我們要做一個軟連接解決一個庫文件找不到的問題:
ln -s /data/server/mqtt/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
ldconfig
然后,新開一個訂閱者終端窗口:
cd /data/server/mqtt/bin
./mosquitto_sub -v -t richie
-t 指定主題,此處為richie
然后,我們再新開一個發布者終端窗口:
cd /data/server/mqtt/bin
./mosquitto_pub -t richie -m hello
-t 指定主題, -m 指定消息內容
備注:三個終端窗口,一個用來開啟服務,一個執行mosquitto_sub來訂閱消息,與服務器保持長連接,隨時接收來自服務器推送的消息,最后一個終端則用來發布消息。當發布者推送消息之后,訂閱者獲得以下內容richie hello