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

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.xdnf.cn/news/6689.html

相关文章:

  • 操作系统|| 虚拟内存页置换算法
  • 遥感图像露天矿区检测数据集VOC+YOLO格式1542张1类别
  • (for 循环) VS (LINQ) 性能比拼 ——c#
  • 【HTML5学习笔记1】html标签(上)
  • javascript和vue的不同
  • 机器学习数据预处理回归预测中标准化和归一化
  • React Flow 节点属性详解:类型、样式与自定义技巧
  • 从技术视角解构 Solana Meme 币生态
  • 校园一卡通安全策略研究调研报告
  • 【配置中心】配置中心该用Nacos还是Apollo
  • 【C++】类与对象
  • python 爬虫框架介绍
  • Day11-苍穹外卖(数据统计篇)
  • 机器学习-特征工程
  • LED点阵屏模块
  • uniapp+vue3页面滚动加载数据
  • 交叉熵损失函数,KL散度, Focal loss
  • 经典启发算法【早期/启发式/HC爬山/SA模拟退火/TS禁忌搜/IA免疫 思想流程举例全】
  • 【生成式AI文本生成实战】从GPT原理到企业级应用开发
  • 【基础】Windows开发设置入门6:Scoop开发者完全指南(AI整理)
  • 如何导出一个python项目中的所有依赖包及其版本信息requirements.txt
  • muduo库EventLoop模块详解
  • 【四川省专升本计算机基础】第二章 计算机软硬件基础(1)
  • 超市营业额数据分析
  • 排序算法之基础排序:冒泡,选择,插入排序详解
  • 工具:shell命令提示符自定义之显示GIT当前分支
  • let、var、const的区别
  • 组件导航 (HMRouter)+flutter项目搭建-混合开发+分栏效果
  • ES(Elasticsearch)的应用与代码示例
  • 主流数据库排查与优化速查手册