mqtt服务器搭建

在 Ubuntu 18.04 上搭建一个简单的 MQTT 服务器,可以使用 Eclipse Mosquitto,它是一个开源的 MQTT 代理(broker),支持 MQTT 协议。以下是详细的步骤:

1. 安装 Mosquitto

Mosquitto 可以通过 Ubuntu 的包管理器直接安装。

    更新包列表
    sudo apt update
    安装 Mosquitto Broker 和客户端工具

    sudo apt install mosquitto mosquitto-clients
    mosquitto:MQTT 服务器(broker)。

    mosquitto-clients:MQTT 客户端工具,用于测试。

    2. 启动 Mosquitto 服务


    安装完成后,Mosquitto 服务会自动启动。你可以通过以下命令检查服务状态:


      sudo systemctl status mosquitto
      如果服务没有启动,可以手动启动:


      sudo systemctl start mosquitto
      设置开机自启动:


      sudo systemctl enable mosquitto

      3. 测试 MQTT 服务器


      使用 mosquitto-clients 工具测试 MQTT 服务器是否正常工作。

        订阅主题
        在一个终端中运行以下命令,订阅一个主题(例如 test/topic):


        mosquitto_sub -h localhost -t “test/topic”
        -h localhost:指定 MQTT 服务器地址。

        -t “test/topic”:指定订阅的主题。

        发布消息
        在另一个终端中运行以下命令,向 test/topic 主题发布消息:


        mosquitto_pub -h localhost -t “test/topic” -m “Hello, MQTT!”
        -m “Hello, MQTT!”:要发布的消息内容。

        如果一切正常,订阅的终端会收到消息:


        Hello, MQTT!

        4. 配置 Mosquitto(可选)


        Mosquitto 的配置文件位于 /etc/mosquitto/mosquitto.conf。你可以根据需要修改配置。

          示例:允许匿名访问
          默认情况下,Mosquitto 允许匿名访问。如果需要禁用匿名访问,可以编辑配置文件:


          sudo nano /etc/mosquitto/mosquitto.conf
          找到以下行并修改:

          ini

          allow_anonymous false
          然后设置用户名和密码:


          sudo mosquitto_passwd -c /etc/mosquitto/passwd your_username
          重启 Mosquitto 服务以应用更改:


          sudo systemctl restart mosquitto

          5. 防火墙配置(如果需要)


          如果服务器启用了防火墙(如 ufw),需要允许 MQTT 的默认端口(1883)。


            sudo ufw allow 1883

            6. 使用客户端连接


            你可以使用任何 MQTT 客户端连接到服务器。例如:

              MQTT Explorer(图形化客户端)

              Paho MQTT(Python 库)

              Eclipse Paho(Java 库)

              连接时,指定服务器地址和端口(默认 localhost:1883)。

              7. 停止或卸载 Mosquitto

              如果需要停止 Mosquitto 服务:


                sudo systemctl stop mosquitto
                如果需要卸载 Mosquitto:


                sudo apt remove –purge mosquitto mosquitto-clients
                总结
                通过以上步骤,你可以在 Ubuntu 18.04 上快速搭建一个简单的 MQTT 服务器,并使用客户端工具进行测试。Mosquitto 是一个轻量级且功能强大的 MQTT 代理,适合用于 IoT 项目或消息传递系统。

                评论

                发表回复

                您的邮箱地址不会被公开。 必填项已用 * 标注