1. 程式人生 > >MQTT--linux安裝部署(CentOS)

MQTT--linux安裝部署(CentOS)

客戶端 編譯 install loading lte groupadd anon 創建 mkdir

OS環境:CentOS6.5

1、安裝依賴

yum -y install gcc gcc-c++ openssl-devel c-ares-devel libuuid-devel wget cmake

2、為mosquitto增加websocket支持,安裝文本socket庫文件 ,解壓縮

# tar zxfv libwebsockets-v1.6-stable.tar.gz

  

3、運行 websocket

# cd libwebsockets-v1.6-stable

# mkdir bulid

# cd bulid

# cmake ..

# make && make install

  

4、安裝mosquitto

下載mqtt--- mosquitto-1.4.8.tar.gz, 解壓縮

# tar zxfv mosquitto-1.4.8.tar.gz

  

5、修改config.mk文件以使後面編譯的mosquitto文件支持websocket

# cd /mosquitto-1.4.8 

  


mosquitto-1.4.8目錄下的config.mk文件,把config.mk 文件中的 WITH_WEBSOCKETS:=no 改為yes

保存後,執行

# make && make install

# ln -s /usr/local/lib/libwebsockets.so.6 /usr/lib64/libwebsockets.so.6

# groupadd mosquitto

# useradd -g mosquitto mosquitto

6、創建mosquitto.conf、pwfile文件

# cd /etc/mosquitto/

如果該目錄下沒有mosquitto.conf 和 pwfile
執行

# cp mosquitto.conf.example mosquitto.conf

# cp pwfile.example pwfile

  

然後修改 文件mosquitto.conf ,

511 allow_anonoymous true
.
.
.
537 password_file /etc/mosquitto/pwfile

  

並在文件最後加入

port 1883
listener 8080
protocol websockets

  

7、啟動mqtt

# mosquitto -c /etc/mosquitto/mosquitto.conf

  

8、測試
另外打開兩個終端
終端一:
?這裏其實就是訂閱一個主題為”mqtt”的消息。”mqtt”為主題名,假如有客戶端發布了主題為”mqtt”的消息,這個終端將會收到消息的內容。

mosquitto_sub -t mqtt

  

終端二:
?這裏就是發布一個主題為”mqtt”,內容為”hello mqtt”的消息。

mosquitto_pub -h localhost -t mqtt -m "hello mqtt"

  

這時終端一會收到:hello mqtt

9、錯誤解決

在安裝過程中,或測試過程中可能會遇到錯誤:

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

解決方法:

# cat /etc/ld.so.conf

# echo "/usr/local/lib">>/etc/ld.so.conf

# ldconfig

  

MQTT--linux安裝部署(CentOS)