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"

关键对比

特性 Mosquitto EMQX
资源占用 低(适合嵌入式设备) 较高(需更多内存/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。