阿里云搭建免费MQTT代理Mosquitto

前言:由于将之前的几个项目底层从新使用了mqtt协议,因此在此记录一下阿里云搭建mosquitto的过程。
linux

1.阿里云申请轻量级服务器

这个过程就不详细说,若是有学生认证的话会很是的优惠。应该是在9.9一个月。
购买成功后
在这里插入图片描述
而后在远程链接中设置本身的密码就可使用SecureCRT 8.1等工具来对你的linux云服务器进行开发了。
将你在控制台获取到的公网IP、用户名(默认root)点击链接后输入密码后便可链接到你的阿里云。在这里插入图片描述web

2.mosquitto安装

(1)下载mosquitto

http://mosquitto.org/files/source/ [最新版本查看]服务器

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

(2)mosquitto依赖库安装

sudo apt-get install libssl-dev
sudo apt-get install libc-ares-dev
sudo apt-get install uuid-dev

(3)mosquitto的安装

tar zxvf mosquitto-1.6.9.tar.gz 
cd mosquitto-1.6.9
make
sudo make install

(4)检测是否安装成功

在安装mosquitto成功后,能够在/usr/local/lib文件夹中有libmosquitto.so.1等文件,以下图所示:tcp

cd /user/local/lib
ls

在这里插入图片描述

错误:

使用过程当中找不到libmosquitto.so.1svg

error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
【解决方法】——修改libmosquitto.so位置工具

建立连接
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
更新动态连接库
sudo ldconfig

(5)mosquitto测试使用

1)启动mosquitto服务器测试

mosquitto -v

2)订阅消息ui

mosquitto_sub -h localhost -t "mqtt" -v

在这里插入图片描述
(3)发布消息阿里云

mosquitto_pub -h localhost -t "mqtt" -m "Hello mqtt"

在这里插入图片描述
在切回到订阅主题的终端就已经接收到了来自主题为mqtt推送到的消息“hello world”
在这里插入图片描述spa

3.用户和密码配置

(1)配置文件

Mosquitto服务器的配置文件为/etc/mosquitto/mosquitto.conf,关于用户认证的方式和读取的配置都在这个文件中进行配置。
nano  /etc/mosquitto/mosquitto.conf.example

写入:

#禁止匿名访问
allow_anonymous false
#认证配置
password_file /etc/mosquitto/pwfile

(2)添加用户信息

添加用户’lwh’密码’****‘,

mosquitto_passwd -c /etc/mosquitto/pwfile lwh

敲入命令后,连续俩次输入相同的密码。

(3)测试

输入正确的用户名和密码:
在这里插入图片描述
输入正确的用户名和密码,经过Wireshark捕获tcp 1883端口 成功推送和订阅

输入错误的密码:
在这里插入图片描述
经过Wireshark捕获tcp 1883端口 能够发现链接mqtt server失败

对于失败的缘由总结了几点: 一、第一阿里云服务器没有打开1883的端口。而且没有进行服务器重启 二、经过ps -ef|grep mosquitto 查看进程 杀死进程后在进行启动在尝试调试。