直接回答:自建 MQTT 服务端最常用 mosquitto:装好之后改配置文件里的监听端口和用户,注意用 root 启动时要同步改配置文件里的运行用户,否则服务起不来。
服务端可选的代理有很多,可以参考这里 https://github.com/mqtt/mqtt.github.io/wiki/servers
本次选用的mosquitto
教程参考https://qiita.com/aquaviter/items/cb3051cf42a3a3c4a4d9 ,第一次安装的时候用的root权限,遇到的没办法启动的问题,修改了配置文件里面的用户由 mosquitto修改为了root才正常运行
酌情安装缺少的库
1 | sudo apt-get install openssl |
1. 下载地址,通过源码下载,下载http://mosquitto.org/download/
1 | wget http://mirrors.ustc.edu.cn/eclipse/mosquitto/source/mosquitto-1.5.4.tar.gz |
2. 安装完成之后进行配置
1 | cd /etc/mosquitto |
这里需要配置三个字段 **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 | user pub_client |
运行的时候 通过查看进程可以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
这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。