欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > opencloudos 安装 mosquitto

opencloudos 安装 mosquitto

2025/7/8 4:12:28 来源:https://blog.csdn.net/u012765781/article/details/148001464  浏览:    关键词:opencloudos 安装 mosquitto
  1. 更新系统并安装依赖
sudo dnf update -y
sudo dnf install -y epel-release  # 若需要 EPEL 额外仓库
sudo dnf install -y gcc-c++ cmake openssl-devel c-ares-devel libuuid-devel libwebsockets-devel
  1. 安装 Mosquitto
    通过默认仓库安装(推荐)
sudo dnf install -y mosquitto

‌3. 启动服务并设置开机自启

sudo systemctl start mosquitto
sudo systemctl enable mosquitto  # 开机自启

确认 Mosquitto 服务状态

# 确保服务已启动
sudo systemctl status mosquitto# 查看默认端口(通常为 1883/TCP)
netstat -tuln | grep 1883

MQTT 是应用层协议,可以运行在不同的传输层协议上:
‌TCP‌:默认方式(如 mqtt://,端口 1883)。
‌WebSocket‌:基于 HTTP 升级的 WebSocket 传输(如 ws:// 或 wss://,端口 9001)。

修改监听地址(如需允许外部访问)
编辑配置文件 /etc/mosquitto/mosquitto.conf:

# 允许所有 IP 访问(默认监听 127.0.0.1)
# 默认 MQTT over TCP(端口 1883)
listener 1883 0.0.0.0
# MQTT over WebSocket(端口 7001)
listener 7001 0.0.0.0
protocol websockets# 允许匿名连接(测试用,生产环境建议关闭)
allow_anonymous true
#password_file /etc/mosquitto/passwd# 持久化设置(保留消息和状态)
#persistence true
#persistence_file mosquitto.db
#persistence_location /var/lib/mosquitto/
#autosave_interval 300  # 每5分钟自动保存# 创建密码文件并添加用户(如用户名:myuser)
sudo mosquitto_passwd -c /etc/mosquitto/passwd myuser
# 输入密码后确认# 限制消息大小(默认无限制)
message_size_limit 1024
max_connections 1000    # 最大客户端连接数
max_queued_messages 100 # 单个客户端最大排队消息数# 日志输出到文件
log_dest file /var/log/mosquitto/mosquitto.log

生成用户密码文件:
密码文件需对 Mosquitto 进程可读:

sudo chown mosquitto:mosquitto /etc/mosquitto/passwd
sudo chmod 600 /etc/mosquitto/passwd  # 仅允许所有者读写
# 创建用户(首次使用 -c 参数,后续追加用户无需 -c)
sudo mosquitto_passwd -c /etc/mosquitto/passwd user1
# 输入密码后重启服务
sudo systemctl restart mosquitto

重启服务

sudo systemctl restart mosquitto

日志分析

# 实时查看日志
tail -f /var/log/mosquitto/mosquitto.log

带认证的订阅/发布

# 订阅(需用户名密码)
mosquitto_sub -h localhost -t "data" -u kd -P kd# 发布 QoS=1 的消息
mosquitto_pub -h localhost -t "data" -m "QoS1 Test" -q 1

通信数据存储,使用sqlit3查看

sudo chown mosquitto:mosquitto /var/lib/mosquitto
sudo chmod 600 /var/lib/mosquitto  # 仅允许所有者读写

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词