文章钢要:

1、了解Mosquitto服务器

2、在Liunx中搭建Mosquitto服务器

3、设置Mosquitto集群

一、Mosquitto简介

一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。一个典型的应用案例就是 Andy Stanford-ClarkMosquitto(MQTT协议创始人之一)在家中实现的远程监控和自动化。并在 OggCamp 的演讲上,对MQTT协议进行详细阐述。

Mosquitto管网:http://mosquitto.org/

Mosquitto最新的源码:http://mosquitto.org/files/source/

二、Liunx下安装Mosquitto

在windows下安装比较简单,在windows环境下需要先下载安装Cygwin,安装成功后在管网下载Mosquitto.exe之后点击安装即可。圆子里有很多教程讲解,就不阐述了。并且在实际开发环境中使用windows环境在少数,大部分使用Liunx,因此下面介绍下在Liunx下安装Mosquitto。

Liunx下安装Mosquitto方法有2中,下载安装包到本地安装以及yum安装。推荐用yum安装因为比较方便,如果安装失败再考虑使用压缩包安装。

使用yum安装:

1、默认情况下Mosquitto的安装需要OpenSSL的支持,所以先安装OpenSSL

yum install gcc gcc-c++

yum install openssl-devel

yum install c-ares-devel

yum install libuuid-devel

yum install wget

yum install cmake

yum install build-essential python quilt devscripts python-setuptools python3

yum install libssl-dev libc-ares-dev uuid-dev daemon openssl-devel

在安装过程中如果服务器已经安装过上述软件程序,将不会在安装,如果发现新版本或者未安装会提示更新和安装,用户输入‘Y’确认安装即可。

2、下载并编译安装mosquitto

下载压缩包(截止目前2016-11最新的压缩包是1.4.10):

wget http://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz

解压:

tar -xzvf mosquitto-1.4.9.tar.gz

进入目录并安装:

cd mosquitto-1.4.9

make

make install
3、配置mosquitto.conf文件 

整个目录中最重要的文件就是mosquitto.conf,将其复制到ect下面

cp mosquitto.conf /etc/mosquitto

修改mosquitto.conf文件

cd /etc/mosquitto/

使用vi命令打开mosquitto.conf文件

vi mosquitto.conf

按“↓”移动光标,找到Default Listeners下的

(可以使用“/Extra listeners”来查找文本,按“N”键可以继续超找。按“I”键进入编辑状态,按ESC返回。退出是键入“:wq”保存退出。不保存强制退出“:q!”)

服务的端口号

#port 1883 改为 port 1883

最大连接数,-1表示不限制

#max_connections -1 改为 max_connections -1

因为我的登录用户是root,所以这里使用root

#use_username_as_clientid 改为 user root

4、启动Mosquitto服务器

执行

mosquitto -c /etc/mosquitto/mosquitto.conf

在启动的时候会出现报错的情况,执行mosquitto客户端程序时出现找不到动态库:libmosquitto.so.1

错误信息:./mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory

解决方案,执行命令:

sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1

和 ldconfig 即可.

如果显示如下提示说明启动成功,警告不用管。

5、测试服务器订阅与发布

订阅服务:

mosquitto_sub -t HelloWord

mosquitto_sub 订阅命令

-t 订阅主题

Helloworld 主题名称,可以随便取名

发布服务:

mosquitto_pub -t HelloWord -h localhost -m "Hello Word"

mosquitto_pub 发布命令

-t 发布主题

Helloworld 主题名称

-h 主机地址

localhost 发布到本地,如果远程主机直接写ip地址(不用写端口号)

-m 发布的信息

“Hello world” 发布的内容

如果一切顺,应当如下图所示,可以成功订阅一条信息,并且可以成功发布信息,订阅端可以接受到信息。

Mosquitto简介及搭建相关推荐

  1. Nexus私服简介及搭建

    nexus私服简介及搭建 一 私服是什么? 1.1 私服的作用 1.2 Nexus下载 1.3 使用Nexus搭建私服 1.3.1可以修改默认端口 1.4 登陆私服时密码不对的问题解决方案 二私服的使 ...

  2. 【存储】GPFS简介及搭建

    [存储]GPFS简介及搭建 第一章 GPFS简介 1.1  GPFS 文件系统介绍 IBM的GPFS(General Parallel File System,通用并行文件系统)可以让用户共享文件系统 ...

  3. NFS(网络文件系统)简介及搭建

    NFS简介及搭建 网络文件系统 定义 演化 特点 工作原理 网络文件系统架构 网络文件系统协议 网络文件系统中的创新 网络文件系统的替代物 部署NFS 实验环境 安装nfs.rpcbind服务 在no ...

  4. 树莓派4b入门之开发RFID系统—简介、搭建MFRC522-SPI环境

    树莓派4b入门之开发RFID系统-简介.搭建MFRC522-SPI环境 一.系统简介 二.模块连接 1.引脚定义 2.接口对应关系 三.搭建接口环境 1.开启SPI 2.模块功能设计 3.安装SPI ...

  5. ad hoc模式的wifi网简介及其搭建

    Ad hoc模式的wifi网简介及搭建 1.wireless-fidelity(wifi)定义及组成:使用IEEE802.11标准协议的局域网,通常称为wifi.它的基础组成是:无线网卡及一台AP(网 ...

  6. Beego框架简介准备搭建分布式爬虫

    一.Beego简介 用scaffold脚手架工具搭建框架 每个方法都有@Router注解 Beego是MVC框架:降低耦合,提供复用性 部署 灰度上线:按产品需求优先级,抽出核心需求,在满足用户基本要 ...

  7. mosquitto简介和使用

    1.简介 一款实现了 MQTT v3.1协议的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机.嵌入式设备 ...

  8. 基于WPF的桌面宠物开发(一) :WPF简介+环境搭建+简单界面

    目录 一.WPF简介 1.什么是WPF? 二.WPF环境搭建 1.Visual Studio安装 2.安装 ".Net桌面开发" 工具包 3.新建WPF项目 4.导入WpfAnim ...

  9. PySpark简介、搭建以及使用

    目录 一.PySpark简介 使用场景 结构体系 二.PySpark集成搭建 三. PySpark的使用 PySpark包介绍 PySpark处理数据 PySpark中使用匿名函数 加载本地文件 Py ...

最新文章

  1. 什么是Asp.net Core?和 .net core有什么区别?
  2. 小学四则运算练习软件项目报告
  3. java选填,java选择填空 - osc_ug2wy0bi的个人空间 - OSCHINA - 中文开源技术交流社区
  4. Spring 事务方法与非事务方法相互调用 @Transactional 注解失效不回滚?
  5. 快速排序 - python版超详细讲解
  6. 开源日志审计系统_详解mysql数据库审计特点、实现方案及审计插件部署演示
  7. 电子设计大赛可以用linux开发板嘛,【一转再转】电子设计大赛应该怎么准备?...
  8. C语言编程题:简单的a+b
  9. php从入门到精通3 pdf 百度云_php从入门到精通第3版 pdf 高清无水印版
  10. 小明左、右手中分别拿两张纸牌:黑桃10和红桃8.现在交换手中的牌。
  11. 深度学习在OCR中的应用
  12. android手机变为usb无线网卡,淘汰的手机别扔,简单几步变无线网卡
  13. CodeForces - 1538G Gift Set (二分)
  14. 如何用Python做日历?
  15. 【VHDL】半减器 and 或门 组成 全减器
  16. 数据结构Python版--线性结构
  17. 【敏捷】主要角色和分工
  18. Ansible企业运维实例(三)—批量硬盘初始化
  19. HTML页面中引入视频的好方法
  20. 易支付代付系统 易商付(espay.cn)提供 全新UI页面设计功能齐全

热门文章

  1. Word格式处理控件Aspose.Words for .NET水印处理教程——如何添加和删除水印
  2. L2-015 互评成绩
  3. 100个统计学 R语言学习资源网站
  4. 异常之IllegalAccessException
  5. mipi协议csi和dsi
  6. linux 开机进入initramfs
  7. 【C++】getchar()有什么用
  8. 【基于UDP的网络聊天室】
  9. StarUML的使用
  10. 天载优配提示商场存在两方面的问题