下载地址

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 源码安装的更多相关文章

  1. MQTT再学习 -- MQTT 客户端源码分析

    MQTT 源码分析,搜索了一下发现网络上讲的很少,多是逍遥子的那几篇. 参看:逍遥子_mosquitto源码分析系列 参看:MQTT libmosquitto源码分析 参看:Mosquitto学习笔记 ...

  2. MQTT 客户端源码分析

    参看:逍遥子_mosquitto源码分析系列 参看:MQTT libmosquitto源码分析 参看:Mosquitto学习笔记 一.目录结构 首先我们还是来看一下 mosquitto-1.4.14 ...

  3. 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 ...

  4. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

  5. 搭建LNAMP环境(二)- 源码安装Nginx1.10

    上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...

  6. 搭建LNAMP环境(一)- 源码安装MySQL5.6

    1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...

  7. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  8. salt源码安装软件和yum安装软件

    上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...

  9. 搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展

    上一篇:搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展 一.安装MongoDB 1.创建mongodb用户组和用户 groupadd mongodb useradd -r -g ...

随机推荐

  1. RabbitMQ的安装与配置

    一.安装环境 CentOS6.3 64位操作系统. 二.安装文件 1.安装erlang:Rabbitmq是基于erlang语言开发的,所以先需要安装erlang:我选择的安装包是:erlang-17. ...

  2. JVM、redis缓存适用场景

    1. 数据状态相对稳定:(针对数据本身)数据修改较少. 2. 输出的数据是相对幂等:(针对业务)多次查询期间,数据不变动.如果查询频率过高,缓存可能没有及时更新. 了解一下redis.ehcache. ...

  3. Python开发者年度调研,结果出乎意料!

    来源商业新知网,原标题:Python开发者年度调研:一半Python用户也用JS,2/3选择Linux系统 作为高级编程语言,Python的受欢迎程度近几年一直在往 上涨.每年,Python官方都会针 ...

  4. for循环 && for-each

    Effective Java 第46条for-each循环优先于传统for循环 问题: 使用for循环来遍历集合或者是数组可以借助迭代器和索引变量.但是,如果出现循环嵌套的时候很容易引起混乱. 例如: ...

  5. css第三天

    三 1.标准模式与怪异模式(针对盒子模型)与边框,填充,边界,有关 标准模式(默认):元素的总宽度 = 盒子的宽度 + 左右填充宽度 + 左右边框宽度元素的总高度 = 盒子的高度 + 上下填充高度 + ...

  6. Java框架spring 学习笔记(五):Bean定义继承

    子 bean 的定义继承父定义的配置数据.子定义可以根据需要重写一些值,或者添加其他值. 编写HelloWorld.java package com.example.spring; public cl ...

  7. Python·——进程1

    1.进程背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序(的一个抽象). 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统 ...

  8. 什么是HTML?

    html是很多人编程的入门领域.作为初学者,不管你是在哪里学的,学校,视频教程,网络教程等等……它们都会告诉你HTML即:超文本标记语言(Hyper Text Markup Language).但第一 ...

  9. Hadoop环境搭建--Docker完全分布式部署Hadoop环境(菜鸟采坑吐血整理)

    系统:Centos 7,内核版本3.10 本文介绍如何从0利用Docker搭建Hadoop环境,制作的镜像文件已经分享,也可以直接使用制作好的镜像文件. 一.宿主机准备工作 0.宿主机(Centos7 ...

  10. The declared package does not match the expected package Java

    今天使用vscode 编写java代码做测试时候,发现这个问题,大概总结一下. 目录结构 bao -> Point.java test.java package bao; public clas ...