一、apt方式安装
增加安装源
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt update 使用apt安装mosquiito
sudo apt-get install mosquitto启动重启和停止服务
sudo /etc/init.d/mosquitto restart/stop/start配置文件
sudo vim /etc/mosquitto/mosquitto.conf二、源码方式安装
安装依赖
sudo apt install gcc g++ make libssl-dev libcjson-dev libwebsockets-dev
有可能会遇到libcjson-dev不存在的情况
git clone https://github.com/DaveGamble/cJSON
cd cJSON
mkdir build
cd build
cmake ..
make
sudo make install
sudo wget https://mosquitto.org/files/source/mosquitto-2.0.15.tar.gz
tar -zxvf mosquitto-2.0.15.tar.gz
cd mosquitto-2.0.15
sudo make
sudo make install
以指定配置文件的方式启动sudo mosquitto -c /etc/mosquitto/mosquitto.conf -d
如果使用sudo /etc/init.d/mosquitto start可能会遇到链接数限制的问题二、配置文件
# pid文件
pid_file /var/run/mosquitto.pid
# 消息持久存储
persistence true
persistence_location /var/lib/mosquitto/
# 日志文件
log_dest file /var/log/mosquitto/mosquitto.log
#不记录
#log_type none
#########下面的debug、error、warning.....等等可以组合使用。
#记录网络通信包,通信包大小(含心跳包),但不显示内容
# 记录debug
log_type debug
#错误信息(没见过)
log_type error
#警告信息(没见过)
log_type warning
#设备的订阅信息、发布信息及下线信息(端口、设备名、用户、不包发布内容)
log_type notice
#服务启动关闭信息、版本号、端口号、配置文件信息
log_type information
#所有设备订阅主题提醒
log_type subscribe
#这个没有试出来干啥用的(没见过)
#log_type unsubscribe
# 其他配置 这个docker配置中可以不要
include_dir /etc/mosquitto/conf.d
# 禁止匿名访问
allow_anonymous false
# 认证配置
password_file /mosquitto/pwdfile
# 权限配置
acl_file /mosquitto/aclfile
#如果需要外网可以访问,就必须指定mqtt协议
#MQTT协议
port 1883
protocol mqtt
# 设置最大连接数
max_connections -1
#websockets协议
listener 8000
protocol websockets
#如果需要查看websockets日志还可以加入以下面
log_type websockets
websockets_log_level 0
# 设置前缀
clientid_prefixes guduyl三、创建账号密码和权限控制
3.1 创建账号密码
创建一个
mosquitto_passwd -c /mosquitto/pwdfile lilei
增加一个,但这里的密码是明文,在history中可以看到
mosquitto_passwd -b /mosquitto/pwdfile hanmeimei 123
-c 是创建一个新的文件,只保存一个用户
-b 在文件中新增一个用户在最后
-D 从文件中删除指定用户
-H 密码加密方式
https://mosquitto.org/man/mosquitto_passwd-1.html
修改密码后需要重启服务sudo /etc/init.d/mosquitto restart,有可能需要重启2次3.2 权限控制
# 打开配置
vi /mosquitto/aclfile
# 李雷只能发布以test为前缀的主题,订阅以$SYS开头的主题即系统主题
user lilei
topic write test/#
topic read $SYS/#
# 韩梅梅只能订阅以test为前缀的主题
user hanmeimei
topic write test/#
topic read test/#参考
- 单机版本安装https://www.cnblogs.com/qumogu/p/16007609.html
- mosquitto集群搭建参考 https://www.cnblogs.com/yueli/p/7655809.html
- https://www.cnblogs.com/xudong1990/p/14985053.html
- https://blog.csdn.net/hellodas/article/details/139774891
作者:admin 创建时间:2026-06-04 07:13
最后编辑:admin 更新时间:2026-06-04 07:13
最后编辑:admin 更新时间:2026-06-04 07:13