linux配置mqtt支持websocket并配置用户名和密码
记录一次老大叫我安装mqtt
因为在网上找的博客参差不齐,在安装的过程中总是会遇到各种奇奇怪怪的问题,所以我也在反复的安装和卸载的过程中总结了一下,
1、安装依赖包
#yum -y install wget
#yum -y install openssl-devel
#yum -y install gcc-c++
#yum -y install cmake
扩展类依赖包
#yum install -y c-ares-devel
#yum install -y libuuid-devel
2、安装libwebsockets
在/usr/local创建mqtt文件夹
mkdir /usr/local/mqtt
wget https://github.com/warmcat/libwebsockets/archive/v3.2.1.tar.gz
tar -zxvf v3.2.1.tar.gz
cd libwebsockets-3.2.1/
mkdir build
cd build
cmake ..
make
make install
注意:先查看/usr/local/lib/libwebsockets.so.15号码,对应自己电脑的
再执行软连接()
ln -s /usr/local/lib/libwebsockets.so.15 /usr/lib/libwebsockets.so.15
ldconfig
3、安装mosquitto
cd /usr/local/mqtt
wget https://mosquitto.org/files/source/mosquitto-1.6.8.tar.gz
tar zxvf mosquitto-1.6.8.tar.gz
进入安装目录
cd mosquitto-1.6.8
mosquitto默认不支持websockets,将下面的配置文件改为yes
vim config.mk
编译安装
make
make install
4、增加webScokets支持
进入目录
cd /etc/mosquitto
开启webSockets支持,在mosquitto.conf里面添加:
vim mosquitto.conf
添加以下字段:
#MQTT协议
port 1883
#websockets协议
listener 1884
protocol websockets
#禁止匿名登录
allow_anonymous false
#存放用户的文件
password_file /etc/mosquitto/pwfile.example
#权限文件
acl_file /etc/mosquitto/aclfile.example
图片
5、创建用户名和密码、打开命令窗口 键入如下命令
mosquitto_passwd -c /etc/mosquitto/pwfile.example 自定义用户名
输入密码:自定义密码

6、配置权限
cd /etc/mosquitto
进入编辑模式
vim aclfile.example
添加如下内容
#用户tsinghong对主题tsinghong有发布权限
user tsing
topic write topicmosq/#
#用户tsinghong对主题tsinghong有订阅权限
user tsing
topic read topicmosq/#
7、启动mosquitto
mosquitto -c /etc/mosquitto/mosquitto.conf

这样是正常运行
另外打开两个窗口,
订阅窗口:输入
mosquitto_sub -h 127.0.0.1 -t topicmosq-u tsing -P 123456
如果出现下图红线圈的情况
解决办法:
进入/usr/local/mqtt/mosquitto-1.6.8/lib
cd /usr/local/mqtt/mosquitto-1.6.8/lib
将编译之后的libmosquitto.so.1 拷贝到目录/usr/local/lib下,执行如下命令:
cp libmosquitto.so.1 /usr/local/lib
然后再执行命令:
ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
最后执行
ldconfig
重启mosquitto
Ctrl+c结束服务
mosquitto -c /etc/mosquitto/mosquitto.conf
发布窗口:输入
#mosquitto_pub -h 127.0.0.1 -t topicmosq-u tsing -P 123456 -m "消息发送"
查看订阅窗口是否接受有信息
关掉服务窗口ctrl+c
使用后台启动服务,执行如下命令
mosquitto -c /etc/mosquitto/mosquitto.conf -d
8、进入 http://coolaf.com/zh/tool/chattest 网页测试websocket是否成功

测试成功啦!!!
版权声明:本文为weixin_43218119原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。