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

Linux 服务器,安装mqtt服务

方案一:安装 Mosquitto(轻量级)

适用场景‌:单机部署、资源受限环境

安装步骤
  1. 安装依赖与软件包

    bashCopy Code

    # Ubuntu/Debian sudo apt update sudo apt install -y mosquitto mosquitto-clients # CentOS/RHEL sudo yum install -y epel-release sudo yum install -y mosquitto

  2. 配置认证(可选但推荐)

    bashCopy Code

    # 创建密码文件并添加用户(首次使用 -c 参数) sudo mosquitto_passwd -c /etc/mosquitto/passwd your_username # 后续添加用户省略 -c sudo mosquitto_passwd /etc/mosquitto/passwd another_user

  3. 修改配置文件
    编辑 /etc/mosquitto/mosquitto.conf,启用密码认证并指定端口:

    iniCopy Code

    listener 1883 allow_anonymous false # 禁用匿名连接 password_file /etc/mosquitto/passwd

  4. 启动服务

    bashCopy Code

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

  5. 测试通信

    • 订阅消息‌:

      bashCopy Code

      mosquitto_sub -h localhost -t "test/topic" -u "your_username" -P "your_password"

    • 发布消息‌:

      bashCopy Code

      mosquitto_pub -h localhost -t "test/topic" -m "Hello MQTT" -u "your_username" -P "your_password"

    23


方案二:安装 EMQX(企业级)

适用场景‌:高并发、集群部署、需 Web 管理界面

安装步骤
  1. 通过 Apt 源安装(Ubuntu/Debian)

    bashCopy Code

    # 添加 EMQX 源 curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash # 安装 sudo apt-get install -y emqx

  2. 启动服务

    bashCopy Code

    sudo systemctl start emqx sudo systemctl enable emqx

  3. 访问 Web 控制台
    浏览器打开 http://服务器IP:18083,默认账号:admin/public,登录后需修改密码45。

  4. 基础配置(命令行)

    • 查看服务状态:emqx_ctl status
    • 重置管理员密码:emqx_ctl admins passwd admin "new_password"

关键对比

特性MosquittoEMQX
资源占用低(适合嵌入式设备)较高(需更多内存/CPU)
集群支持有限完善(云原生分布式架构)
管理界面无(需第三方工具)内置可视化控制台
适用规模中小型 IoT 项目大规模商用部署
安装复杂度★☆☆☆☆ (简单)★★★☆☆ (中等)

注意事项

  1. 防火墙配置
    开放端口:

    • Mosquitto:1883(MQTT)、8883(TLS)
    • EMQX:18838083(WebSocket)、8084(WSS)、18083(控制台)

    bashCopy Code

    sudo ufw allow 1883/tcp # 以 Ubuntu 为例

  2. 安全建议

    • 生产环境务必启用 TLS 加密传输26。
    • EMQX 首次登录后立即修改默认密码6。
  3. 问题排查

    • Mosquitto 日志:tail -f /var/log/mosquitto/mosquitto.log
    • EMQX 日志:/var/log/emqx/emqx.log

以上方案均已验证可行性,可根据实际需求选择。若需集群或高级功能(如规则引擎),优先推荐 EMQX6;轻量级场景 Mosquitto 更便捷37。

http://www.lryc.cn/news/618350.html

相关文章:

  • Linux 系统下 VS Code 降级至 1.85 版本教程:通过历史版本网站解决兼容性问题
  • 从零开始手搓一个GPT大语言模型:从理论到实践的完整指南(一)
  • Linux性能监控
  • Qt Charts 深度解析与实战指南
  • 全面解析MySQL(5)——“索引、事务、JDBC”三大核心
  • AI不再停留在概念阶段,而是在各行业核心业务场景产生实际价值。随着大模型、边缘计算等技术的突破,AI应用将向实时化、自主化、普惠化方向深度演进。
  • 高性能web服务器Tomcat
  • 飞算 JavaAI -智慧城市项目实践:从交通协同到应急响应的全链路技术革新
  • 有趣的 npm 库 · json-server
  • Qt之QMetaEnum的简单使用(含源码和注释)
  • Windows 命令行:打开命令提示符界面
  • 【DL】浅层神经网络
  • 【实时Linux实战系列】实时环境监测系统架构设计
  • Spring Boot 3 数据源连接信息存储方法
  • 蓝牙隐私保护机制:面试高频考点与真题解析
  • 多奥电梯智能化解决方案的深度解读与结构化总结,内容涵盖系统架构、功能模块、应用场景与社会价值四大维度,力求全面展示该方案的技术先进性与应用前景。
  • 线缆桥架、管道设计规范详解
  • C++中template、 implicit 、explicit关键字详解
  • Linux线程——对线程库简单的面向对象封装
  • KAQG:一种用于生成难度可控问题的知识图谱的增强的RAG系统(论文大白话)
  • 无人机影像的像素坐标转大地坐标
  • Spring Boot项目使用WebClient调用第三方接口详细教程
  • 【Redis与缓存预热:如何通过预加载减少数据库压力】
  • 如何在 Ubuntu 24.04 LTS Linux 中安装 JSON Server
  • 跟李沐动手学深度学习---学习笔记之基础篇
  • 一个基于 PyTorch 的完整模型训练流程
  • 【测试】Bug+设计测试用例
  • MR一体机(VST)预算思路
  • 如何实现PostgreSQL的高可用性,包括主流的复制方案、负载均衡方法以及故障转移流程?
  • 深入理解机器学习之TF-IDF:文本特征提取的核心技术