当前位置: 首页 > 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.dtcms.com/a/327294.html

相关文章:

  • AuthController类讲解
  • 思科、华为、华三如何切换三层端口?
  • 前端面试题汇总--Vue2篇
  • 网络安全:如何保障社交媒体账户的安全?
  • 导入文件到iPhone实现
  • Python打卡Day40 训练和测试的规范写法
  • iOS 编译 cpp 代码生成 .a 库备忘
  • 【测试】Bug+设计测试用例
  • 华为发布AI推理新技术,降低对HBM内存依赖
  • C语言—数组和指针练习题合集(二)
  • 终端安全检测和防御技术总结
  • 2025年Java后端秋招面试宝典:高频题库+场景解析
  • wordpress从wp_nav_menu中获取菜单项
  • 聆思duomotai_ap sdk适配dooiRobot
  • 【PyTorch学习笔记 - 03】 Transforms
  • 算法打卡力扣第88题:合并两个有序数组(easy)
  • Java的异常机制
  • 【牛客刷题】REAL806 放它一马:怪物经验值最大化策略详解
  • 云原生应用的DevOps3(CI/CD十大安全风险、渗透场景)
  • UE5多人MOBA+GAS 42、提高头像画质
  • C++——高性能组件
  • AI大模型基础:BERT、GPT、Vision Transformer(ViT)的原理、实现与应用
  • 【2】Transformers快速入门:统计语言模型是啥?
  • Agent智能体基础
  • 「日拱一码」057 逆向强化学习(IRL)
  • 从0开始的中后台管理系统-5(菜单的路径绑定以及角色页面的实现)
  • 分布式光伏气象站:为光伏电站的 “气象感知眼”
  • 自建知识库,向量数据库 体系建设(一)之BERT 与.NET 4.5.2 的兼容困境:技术代差下的支持壁垒
  • AWS EKS 常用命令大全:从基础管理到高级运维
  • 开发npm包【详细教程】