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 ...
随机推荐
- 用VS2015编译pjsip的工程pjproject-vs14
先去官网下载最新的源码包,我用的版本是2.7.1 . 将源代码解压后,在路径:pjproject-3.7.1\pjlib\include\pj 中创建新文件config_site.h,内容如下: #i ...
- gitlab 注册runner
个人pc注册runner 注册gitlab-runner ```textPlease enter the gitlab-ci coordinator URL (e.g. https://gitlab. ...
- python入门(十一):异常
1.异常概念: >>> a Traceback (most recent call last): File "<stdin>", line 1, i ...
- js 获取get参数
function get_val(url,key) { var two= url.split("?"); var right= two[1]; var values = right ...
- cv2.error: openCV报错
运行openCV程序,出现了.cv2.error: OpenCV(4.1.0) D:\Build\OpenCV\opencv-4.1.0\modules\imgproc\src\color.cpp:1 ...
- springmvc 跳转页面或者返回json
方法的返回使用ModelAndView,分别new两个modelAndView,返回json的 是ModelAndView mv = new ModelAndView(new MappingJacks ...
- 20175314薛勐 MyOD(课下作业,选做)
MyOD(课下作业,选做) 要求 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 思路 伪代码: 读取命令行输入的参数(文件名) 以16为每个字 ...
- Xcode9模拟器隐藏边框
选中模拟器,在Mac顶部菜单栏找到Window-->Show Device Bezeles 取消勾选代表去除黑边,勾选代表展示黑边,根据个人喜好设置吧
- 通过ssh StrictHostKeyChecking解决自动化git项目问题
SSH 公钥检查是一个重要的安全机制,可以防范中间人劫持等黑客攻击.但是在特定情况下,严格的 SSH 公钥检查会破坏一些依赖 SSH 协议的自动化任务,就需要一种手段能够绕过 SSH 的公钥检查. 首 ...
- spring微服务架构-脑图
spring团队对新一代软件开发的思索.为什么软件开发是spring boot?为什么软件开发是spring cloud?如何使用spring cloud搭建微服务. 清晰脑图查看