• MQTT linux centOS7 部署


     系统版本centos7 X64

    1.设置保存安装包路径

    # cd /usr/local/src

    2、开始下载源包

    官网资源: https://mosquitto.org/files/source/

    # wget https://mosquitto.org/files/source/mosquitto-1.6.7.tar.gz      

    3、解压

    解压后得到mosquitto-1.6.7文件目录

    # tar zxvf mosquitto-1.6.7.tar.gz
    # mv mosquitto-1.6.7 /usr/local/mosquitto-1.6.7

    4、安装MQTT运行依赖环境

    1)以下三个必须安装,不然make时无法通过。 另外安装MQTT之前,我们也可以# cat compiling.txt文件阅读一下官方的说明。

    # yum -y install openssl-devel
    # yum -y install gcc-c++
    # yum -y install cmake

    2)以下可选扩展功能,不安装也不影响MQTT使用,只是缺少部分对应的功能

    c-ares(用于DNS-SRV支持,默认禁用)c-ares官网:http://c-ares.haxx.se

    tcp-wrappers(可选,包名libwrapp0 dev)

    lib-uuid(支持为每个连接客户端生成唯一uuid)

    libwebsockets(可选,默认禁用,版本1.3及以上,安装可支持websocket功能) 关于MQTT和Websocket的区别,有兴趣可以到这个链接了解一下。 

    下面安装扩展功能:

    # yum install -y c-ares-devel
    # yum install -y uuid-devel 
    # yum install -y libuuid-devel
    # yum install -y libwebsockets

    如果想了解安装的库在哪个位置,# rpm -ql libuuid 可知道哪些文件是通过yum指令安装来的,卸载包使用# yum remove  libuuid 

    需要查询是否已经安装RPM包可输入# rpm -q libuuid-devel

    5、修改config.mk配置文件

    # cd /usr/local/mosquitto-1.6.7
    # vim config.mk

    修改以下为yes,如果前面有#就去掉,保存退出。

    WITH_SRV:=yes

    WITH_WEBSOCKETS:=yes

    WITH_ADNS:=yes

    6、编译安装

    # make
    # make install

    以上执行# make时,如果不报错的话,就跳过以下说明。如果报错: mosquitto.c:49:29: fatal error: libwebsockets.h: No such file or directory 

    那么说明libwebsockets 没有安装好,执行卸载# yum remove libwebsockets,下载新的源包的进行安装,步骤如下。 

    源包链接:https://github.com/warmcat/libwebsockets  我们选择一个版本复制zip下载链接,这里我选择的是1.5版本。

    # wget https://github.com/warmcat/libwebsockets/archive/v1.5-stable.zip   
    # yum -y install unzip
    # unzip libwebsockets-1.5.zip             
    # mkdir -p /usr/local/websocket
    # mv libwebsockets-1.5-stable /usr/local/websocket
    # cd /usr/local/websocke/libwebsockets-1.5-stable
    # cmake .
    # make
    # make install

    执行以上安装ibwebsockets后,重新编译安装MQTT   # cd /usr/local/mosquitto-1.6.7  # make    # make install  这3个命令前面已经列出过了。

    7、启动

    # mosquitto -c /etc/mosquitto/mosquitto.conf -d -p 1883 -v

    8、启动MQTT报错解决

    错误信息:mosquitto: error while loading shared libraries: libwebsockets.so.5: cannot open shared object file: No such file or directory

    解决方法:使用whereis可以查找 libwebsockets.so.5的所在路径,建立一个软链接到/usr/lib 下即可。

    # ln -s /usr/local/lib/libwebsockets.so.5 /usr/lib/libwebsockets.so.5
    # ldconfig

    9、测试

    打开2个shell 窗口,登录你的linux账号。

    订阅:mosquitto_sub -t mtopic  -h 47.0.0.0 -u sun_read 

    发布:mosquitto_pub -t mtopic  -h 47.0.0.0 -m "我发消息给你了" 

     

  • 相关阅读:
    Android Xmpp协议讲解
    IOS 教程以及基础知识
    android的快速开发框架集合
    Android项目快速开发框架探索(Mysql + OrmLite + Hessian + Sqlite)
    afinal logoAndroid的快速开发框架 afinal
    Android 快速开发框架:ThinkAndroid
    2020.12.19,函数式接口,函数式编程,常用函数式接口,Stream流
    2020.12.18 网络编程基础,网络编程三要素,TCP通信,Socket类,ServerSocket
    2020.12.16,Properties,Buffer,InputStreamReader
    2020.12.15 IO流,字节流,字符流,流异常处理
  • 原文地址:https://www.cnblogs.com/siyun/p/11929836.html
Copyright © 2020-2023  润新知