Mosquitto简介及搭建
文章钢要:
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
整个目录中最重要的文件就是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简介及搭建相关推荐
- Nexus私服简介及搭建
nexus私服简介及搭建 一 私服是什么? 1.1 私服的作用 1.2 Nexus下载 1.3 使用Nexus搭建私服 1.3.1可以修改默认端口 1.4 登陆私服时密码不对的问题解决方案 二私服的使 ...
- 【存储】GPFS简介及搭建
[存储]GPFS简介及搭建 第一章 GPFS简介 1.1 GPFS 文件系统介绍 IBM的GPFS(General Parallel File System,通用并行文件系统)可以让用户共享文件系统 ...
- NFS(网络文件系统)简介及搭建
NFS简介及搭建 网络文件系统 定义 演化 特点 工作原理 网络文件系统架构 网络文件系统协议 网络文件系统中的创新 网络文件系统的替代物 部署NFS 实验环境 安装nfs.rpcbind服务 在no ...
- 树莓派4b入门之开发RFID系统—简介、搭建MFRC522-SPI环境
树莓派4b入门之开发RFID系统-简介.搭建MFRC522-SPI环境 一.系统简介 二.模块连接 1.引脚定义 2.接口对应关系 三.搭建接口环境 1.开启SPI 2.模块功能设计 3.安装SPI ...
- ad hoc模式的wifi网简介及其搭建
Ad hoc模式的wifi网简介及搭建 1.wireless-fidelity(wifi)定义及组成:使用IEEE802.11标准协议的局域网,通常称为wifi.它的基础组成是:无线网卡及一台AP(网 ...
- Beego框架简介准备搭建分布式爬虫
一.Beego简介 用scaffold脚手架工具搭建框架 每个方法都有@Router注解 Beego是MVC框架:降低耦合,提供复用性 部署 灰度上线:按产品需求优先级,抽出核心需求,在满足用户基本要 ...
- mosquitto简介和使用
1.简介 一款实现了 MQTT v3.1协议的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机.嵌入式设备 ...
- 基于WPF的桌面宠物开发(一) :WPF简介+环境搭建+简单界面
目录 一.WPF简介 1.什么是WPF? 二.WPF环境搭建 1.Visual Studio安装 2.安装 ".Net桌面开发" 工具包 3.新建WPF项目 4.导入WpfAnim ...
- PySpark简介、搭建以及使用
目录 一.PySpark简介 使用场景 结构体系 二.PySpark集成搭建 三. PySpark的使用 PySpark包介绍 PySpark处理数据 PySpark中使用匿名函数 加载本地文件 Py ...
最新文章
- 什么是Asp.net Core?和 .net core有什么区别?
- 小学四则运算练习软件项目报告
- java选填,java选择填空 - osc_ug2wy0bi的个人空间 - OSCHINA - 中文开源技术交流社区
- Spring 事务方法与非事务方法相互调用 @Transactional 注解失效不回滚?
- 快速排序 - python版超详细讲解
- 开源日志审计系统_详解mysql数据库审计特点、实现方案及审计插件部署演示
- 电子设计大赛可以用linux开发板嘛,【一转再转】电子设计大赛应该怎么准备?...
- C语言编程题:简单的a+b
- php从入门到精通3 pdf 百度云_php从入门到精通第3版 pdf 高清无水印版
- 小明左、右手中分别拿两张纸牌:黑桃10和红桃8.现在交换手中的牌。
- 深度学习在OCR中的应用
- android手机变为usb无线网卡,淘汰的手机别扔,简单几步变无线网卡
- CodeForces - 1538G Gift Set (二分)
- 如何用Python做日历?
- 【VHDL】半减器 and 或门 组成 全减器
- 数据结构Python版--线性结构
- 【敏捷】主要角色和分工
- Ansible企业运维实例(三)—批量硬盘初始化
- HTML页面中引入视频的好方法
- 易支付代付系统 易商付(espay.cn)提供 全新UI页面设计功能齐全