Mosquitto
在了解Mosquitto之前大家可以参考我之前写的一篇博客学习一下MQTT协议的基本概念:
https://blog.youkuaiyun.com/makunIT/article/details/106969862
Mosquitto是一款实现了MQTT v3.1协议的开源消息代理软件,提供轻量级的,支持发布/订阅的消息推送模式,使设备对设备之间的消息通信简单易用。
一、Mosquitto的安装
1.1 用wget下载源码包
我们可以从http://mosquitto.org/files/source/上下载源码
wget http://mosquitto.org/files/source/mosquitto-1.6.9.tar.gz
1.2 解压压缩包
- tar -xzvf mosquitto-1.6.9.tar.gz
1.3 进入目录
cd mosquitto-1.6.9/
1.4找到配置文件config.mk,其中包含了所有Mosquitto的安装选项,详细的参数说明如下:
我们可以使用cat来查看此文件,我们打开的是英文,对于英文不好的可以参考下面的中文。
# 是否支持tcpd/libwrap功能.
#WITH_WRAP:=yes
# 是否开启SSL/TLS支持
#WITH_TLS:=yes
# 是否开启TLS/PSK支持
#WITH_TLS_PSK:=yes
# Comment out to disable client client threading support.
#WITH_THREADING:=yes
# 是否使用严格的协议版本(老版本兼容会有点问题)
#WITH_STRICT_PROTOCOL:=yes
# 是否开启桥接模式
#WITH_BRIDGE:=yes
# 是否开启持久化功能
#WITH_PERSISTENCE:=yes
# 是否监控运行状态
#WITH_MEMORY_TRACKING:=yes
1.5 编译
make
当我敲make的时候会出现如下状况
编译找不到此头文件,遇到此问题的解决方法:
安装openssl :安装命令:
sudo apt-get install libssl-dev
1.6 安装
sudo make install
7、在第五步的时候,我安装过程中出现的问题,有时候,可能错误不指这一个,还可能出现以下问题,及我们的解决方法
【1】编译过程g++命令未找到:
sudo apt-get install g++
【2】编译过程找不到ares.h
sudo apt-get install libc-ares-dev
【3】编译过程找不到uuid/uuid.h
sudo apt-get install uuid-dev
【4】使用过程中找不到libmosquitto.so.1
error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
【解决方法】——修改libmosquitto.so位置
创建链接
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
更新动态链接库
sudo ldconfig
二、配置&运行
安装完之后,所有配置文件会被置放于mosquitto/目录下,其中最重要的就是Mosquitto的配置文件,即mosquitto.conf,以下是详细的配置参数说明。
# =================================================================
# General configuration
# =================================================================
# 客户端心跳的间隔时间
#retry_interval 20
# 系统状态的刷新时间
#sys_interval 10
# 系统资源的回收时间,0表示尽快处理
#store_clean_interval 10
# 服务进程的PID
<