mqtt mosquitto 源码安装
下载地址
ububtu :
wget https://codeload.github.com/eclipse/mosquitto/zip/master
安装依赖
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install openssl
sudo apt-get install uuid-dev
sudo apt-get install docbook-xsl
新建用户
Useradd mosquitto
Passwd mosquitto
切换目录/修改配置文件
cd /etc/mosquitto/
Sudo mv mosquitto.conf.example mosquitto.conf
测试
mosquitto_sub -t "mqtt"
mosquitto_pub -h 47.100.210.119 -t "mqtt" -m "test"
订阅/发布参数说明
mosquitto_pub 命令参数说明 . -d 打印debug信息
. -f 将指定文件的内容作为发送消息的内容
. -h 指定要连接的域名 默认为localhost
. -i 指定要给哪个clientId的用户发送消息
. -I 指定给哪个clientId前缀的用户发送消息
. -m 消息内容
. -n 发送一个空(null)消息
. -p 连接端口号
. -q 指定QoS的值(,,)
. -t 指定topic
. -u 指定broker访问用户
. -P 指定broker访问密码
. -V 指定MQTT协议版本
. --will-payload 指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用
. --will-qos Will的QoS值。该参数需要与--will-topic一起使用
. --will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使用
. --will-topic 用户发送Will消息的topic mosquitto_sub 命令参数说明 . -c 设定‘clean session’为无效状态,这样一直保持订阅状态,即便是已经失去连接,如果再次连接仍旧能够接收的断开期间发送的消息。
. -d 打印debug信息
. -h 指定要连接的域名 默认为localhost
. -i 指定clientId
. -I 指定clientId前缀
. -k keepalive 每隔一段时间,发PING消息通知broker,仍处于连接状态。 默认为60秒。
. -q 指定希望接收到QoS为什么的消息 默认QoS为0
. -R 不显示陈旧的消息
. -t 订阅topic
. -v 打印消息
. --will-payload 指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用
. --will-qos Will的QoS值。该参数需要与--will-topic一起使用
. --will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使用
. --will-topic 用户发送Will消息的topic
配置文件详情
.# =================================================================
.# General configuration
.# =================================================================
.
.# 客户端心跳的间隔时间
.#retry_interval
.
.# 系统状态的刷新时间
.#sys_interval
.
.# 系统资源的回收时间,0表示尽快处理
.#store_clean_interval
.
.# 服务进程的PID
.#pid_file /var/run/mosquitto.pid
.
.# 服务进程的系统用户
.#user mosquitto
.
.# 客户端心跳消息的最大并发数
.#max_inflight_messages
.
.# 客户端心跳消息缓存队列
.#max_queued_messages
.
.# 用于设置客户端长连接的过期时间,默认永不过期
.#persistent_client_expiration
.
.# =================================================================
.# Default listener
.# =================================================================
.
.# 服务绑定的IP地址
.#bind_address
.
.# 服务绑定的端口号
.#port
.
.# 允许的最大连接数,-1表示没有限制
.#max_connections -
.
.# cafile:CA证书文件
.# capath:CA证书目录
.# certfile:PEM证书文件
.# keyfile:PEM密钥文件
.#cafile
.#capath
.#certfile
.#keyfile
.
.# 必须提供证书以保证数据安全性
.#require_certificate false
.
.# 若require_certificate值为true,use_identity_as_username也必须为true
.#use_identity_as_username false
.
.# 启用PSK(Pre-shared-key)支持
.#psk_hint
.
.# SSL/TSL加密算法,可以使用“openssl ciphers”命令获取
.# as the output of that command.
.#ciphers
.
.# =================================================================
.# Persistence
.# =================================================================
.
.# 消息自动保存的间隔时间
.#autosave_interval
.
.# 消息自动保存功能的开关
.#autosave_on_changes false
.
.# 持久化功能的开关
.persistence true
.
.# 持久化DB文件
.#persistence_file mosquitto.db
.
.# 持久化DB文件目录
.#persistence_location /var/lib/mosquitto/
.
.# =================================================================
.# Logging
.# =================================================================
.
.# 4种日志模式:stdout、stderr、syslog、topic
.# none 则表示不记日志,此配置可以提升些许性能
.log_dest none
.
.# 选择日志的级别(可设置多项)
.#log_type error
.#log_type warning
.#log_type notice
.#log_type information
.
.# 是否记录客户端连接信息
.#connection_messages true
.
.# 是否记录日志时间
.#log_timestamp true
.
.# =================================================================
.# Security
.# =================================================================
.
.# 客户端ID的前缀限制,可用于保证安全性
.#clientid_prefixes
.
.# 允许匿名用户
.#allow_anonymous true
.
.# 用户/密码文件,默认格式:username:password
.#password_file
.
.# PSK格式密码文件,默认格式:identity:key
.#psk_file
.
.# pattern write sensor/%u/data
.# ACL权限配置,常用语法如下:
.# 用户限制:user <username>
.# 话题限制:topic [read|write] <topic>
.# 正则限制:pattern write sensor/%u/data
.#acl_file
.
.# =================================================================
.# Bridges
.# =================================================================
.
.# 允许服务之间使用“桥接”模式(可用于分布式部署)
.#connection <name>
.#address <host>[:<port>]
.#topic <topic> [[[out | in | both] qos-level] local-prefix remote-prefix]
.
.# 设置桥接的客户端ID
.#clientid
.
.# 桥接断开时,是否清除远程服务器中的消息
.#cleansession false
.
.# 是否发布桥接的状态信息
.#notifications true
.
.# 设置桥接模式下,消息将会发布到的话题地址
.# $SYS/broker/connection/<clientid>/state
.#notification_topic
.
.# 设置桥接的keepalive数值
.#keepalive_interval
.
.# 桥接模式,目前有三种:automatic、lazy、once
.#start_type automatic
.
.# 桥接模式automatic的超时时间
.#restart_timeout
.
.# 桥接模式lazy的超时时间
.#idle_timeout
.
.# 桥接客户端的用户名
.#username
.
.# 桥接客户端的密码
.#password
.
.# bridge_cafile:桥接客户端的CA证书文件
.# bridge_capath:桥接客户端的CA证书目录
.# bridge_certfile:桥接客户端的PEM证书文件
.# bridge_keyfile:桥接客户端的PEM密钥文件
.#bridge_cafile
.#bridge_capath
.#bridge_certfile
.#bridge_keyfile
.
.# 自己的配置可以放到以下目录中
.include_dir /etc/mosquitto/conf.d
测试
mqtt mosquitto 源码安装的更多相关文章
- MQTT再学习 -- MQTT 客户端源码分析
MQTT 源码分析,搜索了一下发现网络上讲的很少,多是逍遥子的那几篇. 参看:逍遥子_mosquitto源码分析系列 参看:MQTT libmosquitto源码分析 参看:Mosquitto学习笔记 ...
- MQTT 客户端源码分析
参看:逍遥子_mosquitto源码分析系列 参看:MQTT libmosquitto源码分析 参看:Mosquitto学习笔记 一.目录结构 首先我们还是来看一下 mosquitto-1.4.14 ...
- mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法
Mono 3.4修复了很多bug,继续加强稳定性和性能(其实Mono 3.2.8 已经很稳定,性能也很好了),但是从http://download.mono-project.com/sources/m ...
- 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展
上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...
- 搭建LNAMP环境(二)- 源码安装Nginx1.10
上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...
- 搭建LNAMP环境(一)- 源码安装MySQL5.6
1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...
- Greenplum 源码安装教程 —— 以 CentOS 平台为例
Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...
- salt源码安装软件和yum安装软件
上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...
- 搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展
上一篇:搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展 一.安装MongoDB 1.创建mongodb用户组和用户 groupadd mongodb useradd -r -g ...
随机推荐
- 爬虫 2 XPath 和 pyquery
XPath 1.常用规则 表达式 描述 nodename 选取此节点的所有子节点 / 从当前节点选取直接子节点 // 从当前节点选取子孙节点 . 选取当前节点 .. 选取当前节点的父节点 @ 选 ...
- ElasticSearch 使用问题
1.设置空格分词器 PUT /my_index/my_type/_mapping { "my_type": { "_all": { "analyzer ...
- opencv 之 transformation
getAffineTransform() : calculates an affine transform from three pairs of the corresponding points. ...
- vue+el-menu设置了router之后如何跳转到外部链接
<el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="c ...
- kvm动态添加硬盘
1.创建硬盘. qemu-img create -f qcow2 /data/data_root/vm-images/xxxx.qcow2 20G 2.添加硬盘 方式1.动态添加: virsh att ...
- 自己实现ArrayList
思路: 一 载体 ArrayList是一个集合容器,必然要有一个保存数据的载体. public class MyArraylist { private final static int INIT_CO ...
- spring 自定参数解析器(HandlerMethodArgumentResolver)
https://blog.csdn.net/u010187242/article/details/73647670
- 动态在线扩容root根分区大小的方法详解
前言 本文主要介绍了关于动态在线扩容root根分区大小的相关内容,分享出来供大家参考学习,下面话不都说了,来一起看看详细的介绍吧. ? 1 qemu-img resize yourname.img + ...
- centos 7 开机yum
yum -y install net-tools yum -y install wget
- linklist和arraylist区别
ArrayList更适合读取数据,linkedList更多的时候添加或删除数据.