Linux下安装mosquitto

  • Post author:
  • Post category:linux


背景

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 版权协议,转载请附上原文出处链接和本声明。