树莓派建立MQTT服务器(mosquitto)

为了我自己能有个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 
     topic [read|write|readwrite] 
    
  • 启动服务器

    mosquitto -v -c /etc/mosquitto/mosquitto.conf

    -v:打印更多的调试信息

    -c:使用配置文件启动,即:使用/etc/mosquitto/mosquitto.conf配置文件启动mosquitto

你可能感兴趣的:(树莓派建立MQTT服务器(mosquitto))