MQTT协议Centos7下安装mosquitto及简单使用

MQTT和Mosquitto背景

Mosquitto是一个开源(BSD许可证)的消息代理,实现MQTT(消息队列遥测传输)协议版本3.1。

MQTT(MQ Telemetry Transport),消息队列遥测传输协议,轻量级的发布/订阅协议,适用于一些条件比较苛刻的环境,进行低带宽、不可靠或间歇性的通信。值得一提的是mqtt提供三种不同质量的消息服务:

Qos0:“至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
Qos1:“至少一次”,确保消息到达,但消息重复可能会发生。
Qos2:“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

Mosquitto的安装

1.准备安装包

到官网下载https://mosquitto.org/files/source/安装包,我这里下载的是当前最新:

[root@centos7x1 ~]# wget https://mosquitto.org/files/source/mosquitto-1.6.8.tar.gz
2.解压缩
[root@centos7x1 ~]# tar zxf mosquitto-1.6.8.tar.gz
3.进入目录
[root@centos7x1 ~]# cd mosquitto-1.6.8
4.编译&&安装
make && make install
5.安装完成
[root@centos7x1 ~]# mosquitto
mosquitto         mosquitto_passwd  mosquitto_pub     mosquitto_rr      mosquitto_sub

安装完成后,环境里会添加上以上几条命令。

6.配置文件
[root@centos7x1 ~]# cp /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf

使用配置文件启动broker时,加入-c conf路径。例如:mosquitto -c /etc/mosquitto/mosquitto.conf -v

Mosquitto的安装可能出现的问题

1.编译时找不到openssl/opensslconf.h

openssl/opensslconf.h:没有那个文件或目录

[root@centos7x1 mosquitto-1.6.8]# yum install openssl-devel

2.编译时找不到ares.h (这个我没有碰到)

yum install c-ares-devel

3.编译时找不到uuid/uuid.h (这个我也没有碰到)

yum install e2fsprogs-devel
yum install uuid-devel
yum install libuuid-devel

4.使用时,找不到libmosquitto.so.1

mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
ldconfig
简单的使用测试
1、启动mosquitto(broker代理服务)
[root@centos7x1 local]# mosquitto -v
1582095853: mosquitto version 1.6.8 starting
1582095853: Using default config.
1582095853: Opening ipv4 listen socket on port 1883.
1582095853: Opening ipv6 listen socket on port 1883.
1582095853: Error: Invalid user 'mosquitto'.
  • 错误:没有用户mosquitto。

  • 解决:

    ​ 方法1,adduser mosquitto

​ 方法2,修改配置文件mosquitto.conf,增加登录的用户,例如root.

​ 使用配置文件启动

#user mosquitto
user root
2、订阅主题
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值