编译安装mosquitto,并启用websocket功能

mosquitto websocket mqtt mq服务

之前我们讲过用apt安装mosquitto的方式,但是这种安装方式,无法使用websocket功能,所以今天我们演示一下编译安装mosquitto的方法,并且在安装成功后,启用websocket功能。


1、安装必备的组件


apt update

apt install git cmake openssl libssl-dev build-essential tar vim -y


2、安装libwebsockets

官网地址:https://libwebsockets.org/

我们这里直接用git的方式,先安装必备组件


git clone https://libwebsockets.org/repo/libwebsockets

cd libwebsockets

mkdir build

cd build

cmake .. (如果是想使用64位的库文件,则执行cmake .. -DLIB_SUFFIX=64)

make

make install


3、编译安装mosquitto

mosquitto源码下载:http://mosquitto.org/files/source/

建议下载2.0之前的版本,因为2.0之后的版本编译的时候会出错,暂时还不知道怎么解决。

我这里下载的是mosquitto-1.6.9.tar.gz这个

cd ~

wget http://mosquitto.org/files/source/mosquitto-1.6.9.tar.gz

tar -zxvf mosquitto-1.6.9.tar.gz

cd mosquitto-1.6.9

修改配置文件,启用WebSocket功能

vim config.mk

将WITH_WEBSOCKETS:=no改成WITH_WEBSOCKETS:=yes

make

make install


4、配置mosquitto

编辑mosquitto配置文件,添加websocket配置

cp /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf

vim /etc/mosquitto/mosquitto.conf

在Default Listenter 添加一下内容
port 1883
listener 18083
protocol websockets
注意:这里的18083就是websocket的连接端口


5、启动mosquitto

mosquitto -c /etc/mosquitto/mosquitto.conf
-c参数指定配置文件的路径


6、错误处理

执行mosquitto -c /etc/mosquitto/mosquitto.conf后发现启动mosquitto报以下错误
错误1:mosquitto: error while loading shared libraries: libwebsockets.so.17: cannot open shared object file: No such file or directory
执行以下命令解决:
ln -s /usr/local/lib64/libwebsockets.so.17 /usr/lib/libwebsockets.so.17
ldconfig

错误2:1609981212: Error: Invalid user 'mosquitto'.

添加用户mosquitto或者修改mosquitto.conf配置解决

方法1:添加用户:

adduser mosquitto

然后设置密码即可


方法2:修改配置文件


vim /etc/mosquitto/mosquitto.conf

找到#user mosquitto

改成user root(这里的root改成你自己的系统账号)



7、重新启动mosquitto

mosquitto -c /etc/mosquitto/mosquitto.conf

发现启动正常了,按下Ctrl + C结束mosquitto,然后重新加上-d参数后启动mosquitto,-d参数表示后台运行

mosquitto -c /etc/mosquitto/mosquitto.conf -d

  1. 本网站所收集的部分资料来源于互联网,本站不对其真实性负责,也不构成任何其他建议。如果您发现有侵犯您权益的内容,请与我们取得联系,我们会及时修改或删除。
  2. 传递知识、传递力量,欢迎各位网友对本站的文章进行转载和分享。
  3. 本站QQ群交流群:904314688  群号:904314688
发表评论
 
评论列表(目前共有 条评论)
暂时还没有评论哦~

文章搜索

商家广告


版权所有:秋风雅居 (www.198933.com) ©2024 All Rights Reserved.

粤ICP备20031662号