背景
MQTT协议是基于订阅模型的一种实现,主要适用于网络质量差的环境下,例如手机APP与服务端之前,还有就是现在非常火热的物联网低功耗设备场景下。它的本质是一个borker,这个borker的实现有很多种,例如
mosquitto
,
ActiveMQ
及
apollo
等,今天先不讲这些个borker之间的区别,主要讲一下linux环境下如何进行安装部署。
下载安装包
可以在
Windows
与
Linux
下进行安装,在
Windows
下安装相对麻烦一些,需要安装
cygwin
,这里面携带了很多库文件等,访问官网下载源码包进行编译安装。
安装步骤
安装
-
目前最新的版本是1.4.14版本,将下载的
mosquitto-1.4.14.tar.gz
包解压; -
进入
mosquitto-1.4.14
目录下; -
执行
make
命令; -
执行
make install
命令,直到安装完成;
启动
-
执行命令
mosquitto -v
,-v是指打印出更多的调试信息
订阅
-
执行命令
mosquitto_sub -t topic
,topic是指你期望的主题,主题的详细设备可参见MQTT协议文档,非常灵活
发布
-
执行命令
mosquitto_pub -t topic -m message
,topic是指你期望发往的主题,message是指消息内容,如果消息内容是JSON格式带有双引号,则需要将message用单引号括起来
可能遇到的问题
-
编译过程找不到ares.h头文件,网上解决办法其一为修改config.mk中的WITH_SRV:=yes,改为WITH_SRV:=no,其二为安装ares库,
下载地址
,下载完后,执行编译三步骤(configure,make,make install),亲测第二种方式有效 -
编译过程找不到uuid/uuid.h,执行命令
yum install libuuid-devel
,如果未安装YUM源又不能上网的话,就需要手动去RPM网上下载了 -
使用过程中找不到libmosquitto.so.1,执行命令
ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
后,并且更新动态链接库
ldconfig
后话
这只是一个简单的安装过程,这中间还有一些修改端口,设备用户名与密码等,另外也可以使用
mosquitto_sub
与
mosquitto_pub
命令对
ActiveMQ
的borker进行测试。
版权声明:本文为mao_2110901055原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。