阿里云搭建免费MQTT代理Mosquitto

前言:因为将以前的几个项目底层重新使用了mqtt协议,所以在此记录一下阿里云搭建mosquitto的过程。

目录

  • 1.阿里云申请轻量级服务器
  • 2.mosquitto安装
    • (1)下载mosquitto
    • (2)mosquitto依赖库安装
    • (3)mosquitto的安装
    • (4)检测是否安装成功
    • 错误:
    • (5)mosquitto测试使用
  • 3.**用户和密码配置**
    • (1)配置文件
    • (2)添加用户信息
    • (3)测试

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

这个过程就不详细说,如果有学生认证的话会非常的优惠。应该是在9.9一个月。
购买成功后
在这里插入图片描述
然后在远程连接中设置自己的密码就可以使用SecureCRT 8.1等工具来对你的linux云服务器进行开发了。
将你在控制台获取到的公网IP、用户名(默认root)点击连接后输入密码后即可连接到你的阿里云。阿里云搭建免费MQTT代理Mosquitto_第1张图片

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等文件,如下图所示:

cd /user/local/lib
ls

阿里云搭建免费MQTT代理Mosquitto_第2张图片

错误:

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

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)订阅消息

mosquitto_sub -h localhost -t "mqtt" -v

阿里云搭建免费MQTT代理Mosquitto_第3张图片
(3)发布消息

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

阿里云搭建免费MQTT代理Mosquitto_第4张图片
在切回到订阅主题的终端就已经接收到了来自主题为mqtt推送到的消息“hello world”
阿里云搭建免费MQTT代理Mosquitto_第5张图片

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)测试

输入正确的用户名和密码:
阿里云搭建免费MQTT代理Mosquitto_第6张图片
输入正确的用户名和密码,通过Wireshark捕获tcp 1883端口 成功推送和订阅

输入错误的密码:
阿里云搭建免费MQTT代理Mosquitto_第7张图片
通过Wireshark捕获tcp 1883端口 可以发现连接mqtt server失败

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

你可能感兴趣的:(Mosquitto的搭建,MQTT)