为了我自己能有个MQTT服务器使用,所以保证搭建后能给自己使用即可.
这里选择了Eclipse的mosquitto,不要问我为什么,就是知道Eclipse很出名而已,所以选择了它的mosquitto.
准备
需要安装libssl-dev,libc-ares-dev,uuid-dev,g++这些编译需要的库。
sudo apt-get install libssl-dev libc-ares-dev uuid-dev g++
安装
目前(2018年11月30日)最新版本为1.5.4,所以使用的是1.5.4版本
(2018年12月27日)最新版本为1.5.5,所以使用的是1.5.5版本
下载源码
wget http://mosquitto.org/files/source/mosquitto-1.5.5.tar.gz
解压
tar zxfv mosquitto-1.5.5.tar.gz
进入目录
cd mosquitto-1.5.5
编译
make
-
安装
sudo make install
如果没有什么错误的话一般就是安装成功了,我是一次成功,没有什么错误
如果出现了一些错误,可能是因为上面编译的库没有安装.
开始使用
在启动前,需要做一些配置,配置参数在mosquitto.conf中.
基本简单要设置的:
allow_anonymous 允许匿名登陆 可能要连接外网,所以肯定是要关闭了
password_file 账号密码文件 连接外网,必须设置,这样才能保证只有我自己登录
acl_file 用户topic权限列表
-
用户账号密码设置
password_file需要生成文件再指定路径,文件中并不是使用明文保存,所以使用以下命令来生成此文件
# mosquitto_passwd -c 会覆盖密码文件中的内容:添加一个用户后会覆盖以前的账户信息 mosquitto_passwd -c /etc/mosquitto/pwfile.conf username # mosquitto_passwd -d 新增一个用户密码 mosquitto_passwd -d /etc/mosquitto/pwfile.conf username
然后输入2次密码确认
-
用户topic权限设置
acl_file使用明文保存信息,直接自己创建即可
内容为
#用户username,对于topic有read/write/readwrite权限 user <username> topic [read|write|readwrite] <topic>
-
启动服务器
mosquitto -v -c /etc/mosquitto/mosquitto.conf
-v:打印更多的调试信息
-c:使用配置文件启动,即:使用/etc/mosquitto/mosquitto.conf配置文件启动mosquitto