MQTT Centos7下安装mosquitto

MQTT Centos7下安装mosquitto

MQTT和Mosquitto背景

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

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

Qos0:“至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。

Qos1:“至少一次”,确保消息到达,但消息重复可能会发生。

Qos2:“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

Mosquitto安装

root权限编译安装配置

1.安装编译环境

[root@hyx]# yum -y install gcc gcc-c++ libstdc++-devel

2.安装依赖环境

[root@hyx]# yum -y install openssl-devel

[root@hyx]# yum -y install c-ares-devel

[root@hyx]# yum -y install uuid-devel

[root@hyx]# yum -y install libuuid-devel

3.下载源码,编译,安装

[root@hyx]# wget https://mosquitto.org/files/source/mosquitto-1.6.10.tar.gz

[root@hyx]# tar zxf mosquitto-1.6.8.tar.gz

[root@hyx]# cd mosquitto-1.6.8

[root@hyx]# make && make install

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

没有用户mosquitto

解决办法

修改配置文件mosquitto.conf

#user mosquitto
user root

Mosquitto运行

1.配置

[root@hyx]# cd /etc/mosquito
[root@hyx]# mv mosquitto.conf.example mosquitto.conf
[root@hyx]# vim mosquitto.conf

修改启动用户

#user mosquitto
user dever #centos账号

修改设备连接需要用户密码验证

allow_anonymous false

password_file /etc/mosquitto/pwfile

用户密码文件配置

[root@hyx]# mv pwfile.example  pwfile
[root@hyx]# mosquitto_passwd /etc/mosquitto/pwfile huangyuxi
Password: (123456)
Reenter password:
[root@hyx]#

2.运行

  • 终端2:启动服务
[dever@hyx]# mosquitto -v
  • 终端3:订阅
[dever@hyx]# mosquitto_sub -h 127.0.0.1 -u huangyuxi -P 123456 -t sensor -v
  • 终端4:发布
[dever@hyx]# mosquitto_pub -h 127.0.0.1 -u huangyuxi -P 123456 -t sensor -m ‘test’

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值