MQTT之centos6.5 下编译Mosquitto

Mosquitto 使用C++ 语言编写的MQTT broker 端,详情可参考官网 http://mosquitto.org/ ,本文主要讲述centos 6.5 环境下如何编译 mosquitto

1. 下载源码

wget   http://mosquitto.org/files/source/mosquitto-1.4.11.tar.gz  

2.安装依赖库

yum install libssl-dev
yum install libc-ares-dev
yum install uuid-dev
yum install openssl-devel
yum install c-ares-devel
yum install libuuid-devel

3.为mosquitto增加websocket支持

yum install cmake
git clone  https://github.com/warmcat/libwebsockets.git
cd libwebsockets
mkdir build
cd build
cmake ..
make install

后续需要使用libwebsockets的库文件,如果找不到库,执行下面的命令为库做一下符号连接(分64位和32位)
ln -s /usr/local/lib/libwebsockets.so.10 /usr/lib64/libwebsockets.so.10

4. 配置&编译mosquitto

tar -zxvf mosquitto-1.4.11.tar.gz
cd mosquitto-1.4.11
修改config.mk 支持 websocket, WITH_WEBSOCKETS 设置成yes
# Build with websockets support on the broker.
WITH_WEBSOCKETS:=yes

5.运行验证mosquitto


我们看下面这幅图,MQTT的工作原理, 要达到验证的目的,首先 mqtt broker 要正常运行,其次要有一个mqtt 订阅消息,一个mqtt 客户端发布消息



5.1运行mosquitto(mqtt broker)

编辑 mosquitto.conf,增加root
user root

增加port 1883 , listener 9001, protocol websockets, 三项

cp  mosquitto.conf ./src
cd ./src
./mosquitto -c ./mosquitto.conf

从图中可以看出mosquitto 已经正常运行

5.2 运行mqtt client subscribe

cd client


看到缺少链接,增加链接
ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib64/libmosquitto.so.1

我们让mosquitto_sub 订阅主题为test 的消息,已经正常运行

5.3运行mqtt client publish


同时可以看到订阅端将会收到“jack"



从mqtt client <--> mqtt borker <-----> mqtt client 的消息已经打通, 测试完成,我们的目的已经达到

猜你喜欢

转载自blog.csdn.net/a_bcd_123/article/details/69791934