直接回答:自建 MQTT 服务端最常用 mosquitto:装好之后改配置文件里的监听端口和用户,注意用 root 启动时要同步改配置文件里的运行用户,否则服务起不来。

服务端可选的代理有很多,可以参考这里 https://github.com/mqtt/mqtt.github.io/wiki/servers

安装步骤可以参考这里

本次选用的mosquitto

教程参考https://qiita.com/aquaviter/items/cb3051cf42a3a3c4a4d9 ,第一次安装的时候用的root权限,遇到的没办法启动的问题,修改了配置文件里面的用户由 mosquitto修改为了root才正常运行

酌情安装缺少的库

1
2
3
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install uuid-dev

1. 下载地址,通过源码下载,下载http://mosquitto.org/download/

1
2
3
4
wget http://mirrors.ustc.edu.cn/eclipse/mosquitto/source/mosquitto-1.5.4.tar.gz
tar -xzvf mosquitto-1.5.4.tar.gz
make
make install

2. 安装完成之后进行配置

1
2
cd /etc/mosquitto
sudo vim mosquitto.conf

这里需要配置三个字段 **allow_anonymous允许匿名

password_file密码文件

acl_file访问控制列表**

生成用户名密码

1
mosquitto_passwd -c /etc/mosquitto/passwd pub_client

-c :是新打开文件 之后键入密码

1
mosquitto_passwd  /etc/mosquitto/passwd sub_client

之后键入密码

生成acl_file文件

1
sudo vi /etc/mosquitto/acl

输入内容 第一个用户是写入权限,第二个用户是读取权限

1
2
3
4
5
user pub_client
topic write mtopic/#

user sub_client
topic read mtopic/#

运行的时候 通过查看进程可以KILL 然后重新运行 ps -aux | grep mosquitto

其他的高级设置可以参考:https://blog.csdn.net/ptonlix/article/details/79866925

关于用户权限方面可以看这个:https://www.cnblogs.com/relinson/archive/2012/03/29/2422541.html 或者百度搜索mosquitto acl_file

这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。

站内搜索

没有找到内容!