Linux下安装Mosquitto以及开启Websockets

这篇具有很好参考价值的文章主要介绍了Linux下安装Mosquitto以及开启Websockets。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境:Linux。

需求:安装Mosquitto服务,以及开启Mosquitto的Websockets服务。

安装包:Mosquitto1.6.9、libwebsockets

注意事项:1.先安装libwebsockets服务,且确保服务能够正常启动使用。

                  2.确保libwebsockets服务正常,再进行mosquitto服务的配置安装。


1. 安装libwebsockets

1.1 安装libwebsockets的依赖

依赖的安装,注意缺一不可,有yum仓库就用yum装,或者apt等仓库。

yum -y install openssl openssl-devel cmake 

1.2 安装libwebsockets

这里你可以选择直接git clone到本地解压,地址为:https://github.com/warmcat/libwebsockets

为方便下载,附上其他用户上传的libwebsockets的网盘地址:

libwebsockets.tar.gz - 蓝奏云

1.2.1 解压安装

 sudo tar -zxvf libwebsockets.tar.gz -C /usr/local/libwebsockets
 cd /usr/local/libwebsockets
 mkdir build
 cd build/
 cmake ..
 make && make install

如无报错情况下,build/bin目录下,将生成 example类文件。

1.2.2.二次编译

进入example的源码目录:libwebsockets/minimal-examples-lowlevel/ws-server/minimal-ws-server

进行编译,并启动服务进行测试。

 cd /usr/local/libwebsockets/minimal-examples-lowlevel/ws-server/minimal-ws-server
 cmake .
 make
 ./lws-minimal-ws-server

此时便可以通过,本机ip加7681端口,访问网页,查看服务启动状态。

即,若本机IP地址为 192.168.1.1,则可访问 192.168.1.1:7681 或 127.0.0.1:7681(本机访问)。

若安装成功:网页应正常显示出libwebsockets页面。

显示libwebsockets标识页面即代表编译安装成功,否则libwebsockkets将不可用。

否则,

需要检查,上述步骤是否在编译过程中报错,重新执行。


2. 安装Mosquitto

2.1 安装依赖&解压

依赖的安装,注意缺一不可,有yum仓库就用yum装,或者apt等仓库。

Mosquitto版本这里我选择1.6.9,新版本2.0后的配置可能在配置时有差别导致无法开启websockets服务。

附上传的 Mosquitto-1.6.9 的网盘地址:

mosquitto-1.6.9.tar.gz - 蓝奏云

 yum -y install  gcc gcc-c++ c-ares-devel uuid-devel libuuid-devel
 ​
 sudo tar -zxvf mosquitto-1.6.9.tar.gz -C /usr/local/

2.2 编辑 config.mk文件

 cd /usr/local/mosquitto-1.6.9
 vi config.mk

修改配置以开启websockets服务,于第68行,WITH_WEBSOCKETS:=no, 修改为yes

保存修改并退出。

  67 # Build with websockets support on the broker.
  68 WITH_WEBSOCKETS:=yes
  69 

2.3 执行安装

注意!当前路径仍为 /usr/local/mosquitto-1.6.9

 adduser mosquitto
 make && make install

2.4 配置 mosquitto.conf文件

此时路径为 /etc/mosquitto/

 cd /etc/mosquitto/
 cp mosquitto.conf.example mosquitto.conf
 vi mosquitto.conf

修改位置为,第201行(Default listener)后的部分,主要是设置默认port端口以及websockets端口

这里于,第211~213行添加了配置,添加了默认端口1883,以及9001端口并指定为websockets,修改完成后,保存修改并退出。

 200 # =================================================================
 201 # Default listener
 202 # =================================================================
 203 
 204 # IP address/hostname to bind the default listener to. If not
 205 # given, the default listener will not be bound to a specific
 206 # address and so will be accessible to all network interfaces.
 207 # bind_address ip-address/host name
 208 #bind_address
 209 
 210 # Port to use for the default listener.
 211 port 1883
 212 listener 9001
 213 protocol websockets
 214 # Bind the listener to a specific interface. This is similar to
 215 # bind_address above but is useful when an interface has multiple addresses or
 216 # the address may change. It is valid to use this with the bind_address option,
 217 # but take care that the interface you are binding to contains the address you
 218 # are binding to, otherwise you will not be able to connect.
 219 # Example: bind_interface eth0
 220 #bind_interface

2.5 运行测试

 mosquitto -v -c /etc/mosquitto/mosquitto.conf

如无特殊情况,mosquitto服务将正常启动,将按照指定路径配置的conf文件,开启1883以及9001端口。


2.6 关于Mosquitto服务启动时遇到的报错处理

在运行mosquitto命令,启动mosquitto服务时,可能会遇到报错,导致无法正常运行。

例1:找不到 libwebsockets.so.xx。

mosquitto: error while loading shared libraries: libwebsockets.so.19: cannot open shared object file: No such file or directory

原因:部分主机安装服务后,软连接没有建立。

解决办法:建立软连接。

 sudo ln -s /usr/local/lib/libwebsocket.so.xx /usr/lib/libwebsocket.so.xx
 ldconfig

例2:无效的用户 'mosquitto'。

 Error: Invalid user 'mosquitto'.

解决办法:新建用户。

add user mosquitto

例3:依赖问题。

error: ‘struct mosquitto’ has no member named ‘ssl’mosq->ssl = (SSL *)in

解决方法:此类皆是依赖没有提前安装好的问题,需提前安装好依赖,如openssl-devel。

例4:websockets 不可用。

Error: Websockets support not available.

原因:服务安装的顺序问题导致。

解决方法:需先正确安装libwebsockets后,在mosquitto的安装过程中,配置config.mk文件,启用包含websockets服务的安装。文章来源地址https://www.toymoban.com/news/detail-596541.html

以上就是Linux环境下,安装Mosquitto服务以及开启Websockets的全部步骤。


到了这里,关于Linux下安装Mosquitto以及开启Websockets的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mac 上如何安装Mysql? 如何配置 Mysql?以及如何开启并使用MySQL

    有许多开发的小伙伴,使用的是mac,那么在mac上如何安装,配置Mysql,以及使用Mysql了,今天来一个系统的教程。 使用mysql前,我们需要先下载mysql,并按照以下几个步骤,便可以顺利下载安装mysql了。  1:下载mysql 首先,在浏览器当中输入地址https://www.mysql.com/downloads/,或者登

    2024年02月08日
    浏览(46)
  • linux下的mosquitto服务安装及使用(避坑指南)

    Mosquitto是一个开源的MQTT消息代理服务器。MQTT是一个轻量级的、基于发布/订阅模式的消息传输协议。 mosquitto的安装使用比较简单,可以方便的来进行一些测试。 Mosquitto的特点: 1. 轻量级:Mosquitto是一个轻量级的MQTT代理服务器,它的设计目标是提供高效、快速和可靠的消息传

    2024年02月12日
    浏览(43)
  • Kali Linux的下载安装以及基础配置

    渗透测试(Penetration Testing),简称为渗透测试或漏洞评估,是一种安全评估的方法,旨在评估计算机系统、网络或应用程序中存在的安全漏洞和弱点。渗透测试模拟了真实的黑客攻击,以发现系统中的漏洞,并提供修复建议,帮助组织加强其安全性。 渗透测试系统都提供了

    2024年01月19日
    浏览(44)
  • Linux安装配置nginx+php搭建以及在docker中配置

    1.nginx源码包编译环境和安装相应的依赖 1.1 安装编译环境 1.2 安装pcre库、zlib库和openssl库 pcre(Perl Compatible Regular Expressions)是一个Perl库,是一个用C语言编写的正则表达式的函数库,是轻量级的函数库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库 zlib是一

    2024年02月01日
    浏览(55)
  • 【Linux】安装VMWare虚拟机(安装配置)和配置Windows Server 2012 R2(安装配置连接vm虚拟机)以及环境配置

    1、什么是操作系统    操作系统是一种软件,它管理计算机系统的硬件和软件资源,并提供给用户和应用程序接口,使它们能够与计算机系统交互和运行。操作系统负责调度和分配系统资源,例如处理器、内存、输入输出设备等,以及管理文件系统、网络通信和安全等功能。

    2024年01月21日
    浏览(70)
  • 【Linux】安装配置解决Centos&MobaXterm的使用及Linux常用命令以及命令模式

    目录 Centos的介绍 centos安装配置MobaXterm 创建  安装  ​编辑  配置 ​编辑  MobaXterm使用  Linux常用命令模式   常用命令 vi或vim编辑器  三种模式  命令模式 编辑模式   末行模式 拍照备份  CentOS(Community Enterprise Operating System)是一个基于Red Hat Enterprise Linux (RHEL) 源代码编

    2024年02月06日
    浏览(42)
  • 7、NCL安装与配置(Windows、mac OS以及Linux)

             NCL(The NCAR Command Language)是一种专门为科学数据处理以及数据可视化设计的高级语言,被广泛应用在大气科学以及海洋科学等学科的研究中。本文主要讲解如何在Windows、mac OS以及Linux操作系统下快速、正确地安装NCL并进行环境配置。 目前,Windows系统下NCL主流安装方

    2024年02月02日
    浏览(46)
  • 【Linux】安装VMWare虚拟机(安装配置)和配置Windows Server 2012 R2(安装配置连接vm虚拟机)以及环境配置(Windows版详细教程)

    目录 一、操作系统简介 1、什么是操作系统 2、常见的操作系统 2.1、windows操作系统 2.2、UNIX操作系统 2.3、linux操作系统 2.4、mac操作系统 2.5、嵌入式操作系统 3、个人版本和服务器版本的区别 3.1、个人版本 3.2、服务器版本 3.3、总结 4、Linux的各个版本 4.1、Debian 4.2、Ubuntu 4.3、

    2024年02月07日
    浏览(77)
  • MySQL 开启配置binlog以及通过binlog恢复数据

       binlog是MySQL sever层维护的一种二进制日志,binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE、DROP等)以及表数据修改(INSERT、UPDATE、DELETE、TRUNCATE等)的二进制日志。不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改。 作用主要有: 主从复制:在

    2024年02月03日
    浏览(60)
  • VM Workstation 16 Pro 下载安装以及下载配置Linux虚拟机(操作如下)

    目录   什么是Linux,作用是什么? 下载Linux安装包  第一步安装Download VMware Workstation Pro VMware Workstation Pro配置Linux 鼠标点击,打开终端 指令   Linux,全称GNU/Linux,是一种免费使用和自由传播的类Unix操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主

    2024年02月06日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包