大家好,又见面了,我是你们的朋友全栈君。
MQTT服务器搭建–Mosquitto
1.Mosquitto简介
MQTT(MQ Telemetry Transport),消息队列遥测传输协议,轻量级的发布/订阅协议, 适用于一些条件比较苛刻的环境,进行低带宽、不可靠或间歇性的通信。目前已经是物联网消息通信事实上的标准协议了。值得一提的是mqtt提供三种不同质量的消息服务:
l “至多一次”:消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
l “至少一次”:确保消息到达,但消息重复可能会发生。
l “只有一次”:确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
2.Mosquitto下载
下载地址:http://mosquitto.org/download/
需要准备的文件:mosquitto-1.4.11.tar.gz,libwebsockets-v1.6-stable.tar.gz
3.Mosquitto安装
将安装包上传到centos操作系统里面,安装依赖包:
# yum -y install gcc gcc-c c-ares-devel libuuid-devel wget cmake
解压、安装libwebsockets-v1.6-stable.tar.gz
# tar -zxvflibwebsockets-v1.6-stable.tar.gz
进入目录libwebsockets-v1.6-stable
# cdlibwebsockets-v1.6-stable
编译&安装
# mkdir build
# cd build/
# cmake ..
# make && make install
解压、安装libwebsockets-v1.6-stable.tar.gz
进入mosquitto-1.4.11目录,并修改config.mk支持websocket
# vim config.mk
编译&安装
# make && make install
创建软连接、创建mosquitto用户组
# ln -s /usr/local/lib/libwebsockets.so.6/usr/lib64/libwebsockets.so.6
#groupadd mosquitto
#useradd -g mosquitto mosquitto
4.Mosquitto配置
进入目录/etc/mosquitto/,将mosquitto.conf.example拷贝一份为mosquitto.conf,将pwfile.example拷贝一份为pwfile
修改mosquitto.conf
5.Mosquitto运行
启动mosquitto
# mosquitto -c/etc/mosquitto/mosquitto.conf
6.Mosquitto测试
打开一个终端作为订阅端,订阅‘mqtt’主题:
# mosquitto_sub -t mqtt
再打开一个终端作为发布端,指定主题‘mqtt‘推送消息
# mosquitto_pub -h localhost -tmqtt -m “hello world”
在订阅了’mqtt‘的订阅端会接收到消息
7.Mosquitto错误解决
在安装过程中,或测试过程中可能会遇到错误:
mosquitto_sub: errorwhile loading shared libraries: libmosquitto.so.1: cannot open shared objectfile: No such file or directory
解决方法:
# cat/etc/ld.so.conf
# echo”/usr/local/lib”>>/etc/ld.so.conf
# ldconfig
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138564.html原文链接:https://javaforall.cn