所需安装包:
libwebsockets-v1.6-stable.tar.gz,mosquitto-1.4.8.tar.gz
1、安装依赖
# yum -y install gcc gcc-c++ openssl-devel c-ares-devel libuuid-devel wget cmake
2、为mosquitto增加websocket支持,需要安装websocket库文件
下载websocket,我用的是 libwebsockets-v1.6-stable.tar.gz,
解压缩:# 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.gz5、修改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 ,
并在文件最后加入
7、启动 mqtt
# mosquitto -c /etc/mosquitto/mosquitto.conf
8、测试
需要打开2个窗口
订阅:
发送消息:
如果订阅窗口打印出hello world ,证明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