1.下载mosquitto安装包
https://mosquitto.org/download/
2.安装其他依赖包

yum install gcc gcc-c++ libstdc++-devel

yum install openssl-devel -y

yum install c-ares-devel -y

yum install uuid-devel -y

yum install libuuid-devel -y

3.进入到1中下载并解压出来的文件夹中执行

make && make install

安装好之后可进入 /etc 目录查看

4.进入到 /etc/mosquitto 中,执行

cp mosquitto.conf.example mosquitto.conf

5.启动mosquitto服务

mosquitto -c /etc/mosquitto/mosquitto.conf

//后台启动
mosquitto -d -c /etc/mosquitto/mosquitto.conf

6.启动的时候会出现以下错误

Error: Invalid user 'mosquitto'.
解决办法:

修改配置文件 /etc/mosquitto/mosquitto.conf,增加登录的用户,例如当前登录的用户为root
如果增加的用户为root运行时会出现警告如下
Mosquitto should not be run as root/administrator
改成自己命名 然后执行 adduser mosquitto

此时启动就正常了

mosquitto 选项介绍:
-c,--config文件
从文件加载配置。 如果没有给出,则使用mosquitto.conf(5)中描述的默认值。
-d,--daemon
在后台运行蚊子作为守护进程。 所有其他行为保持不变。
-p,--port
在指定的端口上监听,而不是默认的1883.除了配置文件中的端口设置外,还会起作用。 可以指定多次以打开在不同端口上侦听的多个套接字。 该套接字将绑定到所有网络接口。
-v,--verbose
使用详细日志记录。 这相当于在配置文件中将log_type设置为全部。 这种覆盖和记录选项在配置文件中给出

订阅主题

1执行命令
mosquitto_sub -v -t test -v打印详细日志 -t/--topic 订阅的主题
遇见的问题
mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
执行mosquitto客户端程序时出现找不到动态库:libmosquitto.so.1
解决办法:
编译完mosquitto之后,进入到lib目录下,将编译之后的libmosquitto.so.1 拷贝到目录/usr/local/lib下,执行如下命令:
cp libmosquitto.so.1 /usr/local/lib
执行命令:
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1

ldconfig

发布内容
命令:
mosquitto_pub -t test -m "测试mqtt"

安装资料:

https://www.cnblogs.com/gyli20170901/p/10155900.html

调试资料:

https://blog.csdn.net/qq_29350001/article/details/76680646

错误资料:

https://blog.csdn.net/houjixin/article/details/46711547

安装调试mosquitto日志的更多相关文章

  1. Mosquitto安装调试实录

    1. 安装 以Centos 7.x为例,先安装依赖项(笔者使用阿里云资源,部分依赖项可能未列出): yum install gcc-c++ yum install openssl-devel yum ...

  2. ELK 6安装配置 nginx日志收集 kabana汉化

    #ELK 6安装配置 nginx日志收集 kabana汉化 #环境 centos 7.4 ,ELK 6 ,单节点 #服务端 Logstash 收集,过滤 Elasticsearch 存储,索引日志 K ...

  3. Android Studio中JNI程序的单步调试和日志打印

    近日有个算法(检测碰撞)需要用C++实现,目的是IOS和ANDROID中共享同一段程序. 下面说说android调用这段程序过程中遇到的一些事情.(过程中网上搜索了一些相关文章,大部分说的是eclip ...

  4. VS2003"无法启动调试 没有正确安装调试器"的解决办法

    VS2003"无法启动调试 没有正确安装调试器"的解决方法 在用VS2003做项目的时候,经常调试程序,但是有时候回出现如下问题“无法启动调试,没有正确安装调试器,请运行安装程序或 ...

  5. 华为 MATE7 调试 LOCAT 日志不输出问题

    [转]华为 MATE7 调试 LOCAT 日志不输出问题 http://www.cnblogs.com/glaivelee/p/4593221.html 用手机进行调试,在电脑上不显示logcat信息 ...

  6. 如何通过wifi在android手机上安装调试应用

    如何通过wifi在android手机上安装调试应用 1. 首先还是要打开手机的usb调试选项,并通过usb线连接手机.2. 然后执行“adb tcpip 5555”,把adb从usb模式切换到tcpi ...

  7. 注意:rsyslog 源码安装 会出现日志重复发的情况,需要rpm包安装

    cd /etc/yum.repos.d;wget http://rpms.adiscon.com/v8-stable/rsyslog.repo uat-web02:/etc/yum.repos.d# ...

  8. VS2003"无法启动调试 没有正确安装调试器"的解决方法

    在用VS2003做项目的时候,经常调试程序,但是有时候回出现如下问题“无法启动调试,没有正确安装调试器,请运行安装程序或修复调试器”.第一次碰到还以为是运气不好,就重新用vs2003安装程序重新修复了 ...

  9. 安装rqalpha的日志

    安装rqalpha的日志 用anaconda的控制台命令: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple rqalpha rqalph ...

随机推荐

  1. 在Unix系统中执行可执行文件

    这篇文章是我在一个叫做Charlotte数据挖掘的公众号上看到的文章,文首提到转载自"朱小厮的博客",当我今天执行一个自己编译的可执行文件后的运行阶段想到了这篇文章,直接一次成功. ...

  2. 【JMeter_13】JMeter逻辑控制器__执行时间控制器<Runtime Controller>

    执行时间控制器<Runtime Controller> 业务逻辑: 根据输入的Runtime的值,对当前节点下的执行时长进行控制,当执行时长超过限定时长后,执行完当前正在执行的取样器后,跳 ...

  3. JavaScript中的事件委托(转至大佬)

    转至:https://www.cnblogs.com/liugang-vip/p/5616484.html 起因: 1.这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的: 2.其实我一直都没 ...

  4. phpmyadmin系列渗透思路连载(一)

    当拿到phpmyadin的站点后,我一般会尝试一下几种攻击手法: 1.通过弱口令进入后台,尝试into outfile写入一句话 条件:(1)有写的权限    (2)知道web绝对路径    (3)w ...

  5. Java中堆栈的区别

    简单的说: Java把内存划分成两种:一种是栈内存,一种是堆内存. 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配. 当在一段代码块定义一个变量时,Java就在栈中为这个变量分 ...

  6. Spring Cloud面试题万字解析(2020面试必备)

    1.什么是 Spring Cloud? Spring cloud 流应用程序启动器是 于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成.Spring cloud Tas ...

  7. python之浅谈循环

    目录 流程控制之while循环 语法 while+break while+continue while+else while循环的嵌套 流程控制之for循环 语法 for+break for+cont ...

  8. 解密TaurusDB存储端高并发之线程池

    摘要:为了能加快相关任务的高效执行,TaurusDB采用多线程技术处理的方式,增加处理器单元的吞吐能力,从而提高存储端的执行效率. 1. TaurusDB背景 随着云计算进入2.0时代,数据急剧膨胀, ...

  9. 二.drf之使用序列化编写视图

    总结:两功能序列化: a.拿到queryset --->idc = Idc.objects.all() b.将queryset给序列化成类---->serializer = IdcSeri ...

  10. navicat连接vagrant中的数据库