当前位置: 首页 > news >正文

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  # 仅允许所有者读写
http://www.dtcms.com/a/195337.html

相关文章:

  • UNiAPP地区选择
  • MySQL的缓存策略
  • Femap许可优化策略
  • 学习日志09 java
  • 中级统计师-统计学基础知识-第一章
  • spring框架的JDBC模板技术
  • lesson03-简单回归案例(理论+代码)
  • GTS-400 系列运动控制器板卡介绍(三十四)---运动程序多线程累加求和
  • 练习小项目3:随机正能量语录生成器
  • C语言—指针4
  • EXCEL在一列数据前统一添加负号
  • 【Manim】使用manim画一个高斯分布的动画
  • 黑马k8s(八)
  • Spring MVC 对 JavaWeb 的优化:从核心组件到注解
  • 使用 LSTM/GRU 预测设备异常的模型
  • 前端 vue 部署 nginx 请求 404
  • MCP概述及MCP Server的使用和实现(谷歌ADK使用MCP Server)
  • P6123 [NEERC 2016] Hard Refactoring 题解
  • Invicti-Professional-V25.5
  • C/C++实践(九)C++二叉搜索树深入讲解
  • 高效批量合并Word文档的工具介绍
  • FC7300 PWM MCAL配置引导
  • 关于计算机系统和数据原子性的联系
  • Redis 五种类型基础操作(redis-cli + Spring Data Redis)
  • 反编译读取.class文件
  • 从微积分到集合论(1630-1910)(历史简介)——第1章——积分技巧(1630-1660)(Kirsti Møller Pedersen)
  • 时源芯微|磁珠
  • PCL 计算一条射线与二次曲面的交点
  • 【Unity】 HTFramework框架(六十五)ScrollList滚动数据列表
  • 显性知识的主要特征