下载地址

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. 用VS2015编译pjsip的工程pjproject-vs14

    先去官网下载最新的源码包,我用的版本是2.7.1 . 将源代码解压后,在路径:pjproject-3.7.1\pjlib\include\pj 中创建新文件config_site.h,内容如下: #i ...

  2. gitlab 注册runner

    个人pc注册runner 注册gitlab-runner ```textPlease enter the gitlab-ci coordinator URL (e.g. https://gitlab. ...

  3. python入门(十一):异常

     1.异常概念: >>> a Traceback (most recent call last): File "<stdin>", line 1, i ...

  4. js 获取get参数

    function get_val(url,key) { var two= url.split("?"); var right= two[1]; var values = right ...

  5. cv2.error: openCV报错

    运行openCV程序,出现了.cv2.error: OpenCV(4.1.0) D:\Build\OpenCV\opencv-4.1.0\modules\imgproc\src\color.cpp:1 ...

  6. springmvc 跳转页面或者返回json

    方法的返回使用ModelAndView,分别new两个modelAndView,返回json的 是ModelAndView mv = new ModelAndView(new MappingJacks ...

  7. 20175314薛勐 MyOD(课下作业,选做)

    MyOD(课下作业,选做) 要求 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 思路 伪代码: 读取命令行输入的参数(文件名) 以16为每个字 ...

  8. Xcode9模拟器隐藏边框

    选中模拟器,在Mac顶部菜单栏找到Window-->Show Device Bezeles 取消勾选代表去除黑边,勾选代表展示黑边,根据个人喜好设置吧

  9. 通过ssh StrictHostKeyChecking解决自动化git项目问题

    SSH 公钥检查是一个重要的安全机制,可以防范中间人劫持等黑客攻击.但是在特定情况下,严格的 SSH 公钥检查会破坏一些依赖 SSH 协议的自动化任务,就需要一种手段能够绕过 SSH 的公钥检查. 首 ...

  10. spring微服务架构-脑图

    spring团队对新一代软件开发的思索.为什么软件开发是spring boot?为什么软件开发是spring cloud?如何使用spring cloud搭建微服务. 清晰脑图查看