So installieren Sie einen MQTT-Broker auf Ubuntu

Als großflächig verteilt MQTT-Broker für IoT mit mehr als 10 Millionen Downloads weltweit, EMQXseit es 2013 als Open Source auf GitHub veröffentlicht wurde, wurde von mehr als 20.000 Unternehmensbenutzern aus mehr als 50 Ländern und Regionen weitgehend übernommen und hat insgesamt mehr als 100 Millionen IoT-kritische Geräte verbunden.

In letzter Zeit, EMQX hat Version 5.0 veröffentlicht , das auch in Bezug auf die Zuverlässigkeit der Nachrichtenübertragung und die Benutzerfreundlichkeit stark optimiert und aufgerüstet wurde, was es zu einem Meilenstein im MQTT-Bereich macht. Im Pre-Launch-Leistungstest erreichte das EMQX-Team 100 Millionen MQTT-Verbindungen +1 Million Nachrichtendurchsatz pro Sekunde mit einem 23-Knoten-Cluster, was EMQX 5.0 zum mit Abstand skalierbarsten MQTT-Broker der Welt macht.

EMQX unterstützt die Ausführung auf Linux, Windows, macOS, Raspbian und anderen Betriebssystemen und unterstützt auch die Bereitstellung mit Docker, Kubernetes und Terraform. In diesem Artikel wird EMQX 5.0.4 als Beispiel genommen, um vorzustellen, wie ein Einzelknoten-MQTT-Broker auf Ubuntu erstellt wird, und um die häufigen Probleme zu demonstrieren, die während des Erstellungsprozesses auftreten.

Installieren von EMQX

Das für diese Demonstration verwendete Betriebssystem ist Ubuntu 20.04 64-Bit.

EMQX mit APT installieren

APT ist der Paketmanager, der mit Ubuntu geliefert wird. Es wird empfohlen, EMQX lieber mit APT zu installieren. Gleichzeitig bietet EMQX auch die offizielle APT-Quelle und ein Ein-Klick-Konfigurationsskript, um Benutzern zu helfen, EMQX schnell zu installieren.

  1. Konfigurieren Sie die EMQX-APT-Quelle.
curl -s  | sudo bash

Kopieren Sie den obigen Befehl in das Ubuntu-Terminal und führen Sie ihn aus. Die folgende Abbildung zeigt eine erfolgreiche Konfiguration.

Konfigurieren Sie die EMQX-APT-Quelle

  1. Installieren Sie die neueste Version von EMQX.
sudo apt-get install emqx
  1. Verwenden Sie nach erfolgreicher Installation den folgenden Befehl, um EMQX zu starten.
sudo emqx start

Wie in der Abbildung unten gezeigt, EMQX 5.0.4 is started successfully! wird angezeigt, wenn der Start erfolgreich ist. Erfolgt längere Zeit keine Antwort auf den Befehl, prüfen Sie bitte anhand der Beschreibung im Abschnitt, ob der entsprechende Port belegt ist EMQX-Betriebsprüfung.

Starten Sie EMQX

  1. EMQX-Verwaltungsbefehl

EMQX bietet Befehlszeilen-Tools, die Benutzern helfen, die Konsole zu starten, zu schließen und aufzurufen. Führen Sie wie in der Abbildung unten gezeigt aus sudo emqx auf dem Terminal, um alle Verwaltungsbefehle anzuzeigen.

EMQX-Verwaltungsbefehl

Installieren von EMQX mit dem tar.gz-Paket

Wenn der Server keinen Zugriff auf ein öffentliches Netzwerk hat oder die EMQX-Funktion schnell bereitstellen und überprüfen muss, tag.gz Paket kann für die Installation verwendet werden, die von Drittanbietern unabhängig und einfach zu verwalten ist.

Laden Sie das Installationspaket herunter

Besuche den EMQX-Downloadadresse. Wähle aus Package markieren, auswählen Ubuntu20.04 amd64/tag.gz für den Installationspakettyp und klicken Sie dann rechts auf das Symbol „Kopieren“ (dadurch wird die gesamte Zeile des wget-Download-Befehls kopiert).

Fügen Sie den Download-Befehl in das Ubuntu-Terminal ein und führen Sie den Download-Vorgang durch.

Entpacken und installieren

Führen Sie den folgenden Befehl auf dem Serverterminal aus und extrahieren Sie das komprimierte Paket in die emqx Verzeichnis unter dem aktuellen Verzeichnis.

Diese Demonstration wird unter dem Home-Verzeichnis des aktuellen Benutzers installiert, das heißt ~/emqx/

mkdir -p emqx && tar -zxvf emqx-5.0.4-ubuntu20.04-amd64.tar.gz -C emqx

Verwenden Sie als Nächstes den folgenden Befehl, um EMQX zu starten

./emqx/bin/emqx start

Wenn die Inbetriebnahme erfolgreich ist, EMQX 5.0.4 is started successfully! wird auftauchen. Erfolgt längere Zeit keine Antwort auf den Befehl, prüfen Sie bitte anhand der Beschreibung im Abschnitt, ob der entsprechende Port belegt ist EMQX-Betriebsprüfung.

EMQX-Betriebsprüfung

Port-Listening

Verwenden Sie den Befehl netstat -tunlp um den Betrieb des EMQX-Ports zu überprüfen. Standardmäßig startet EMQX die folgenden Ports. Überprüfen Sie bei Ausnahmen die Portbelegung.

Dieser Befehl kann auch vor der EMQX-Installation ausgeführt werden, um sicherzustellen, dass der entsprechende Port nicht belegt ist.

MQTT-Broker-Port

HafenBeschreibung
1883MQTT/TCP-Port
8883MQTT/SSL-Port
8083MQTT/WS-Port
8084MQTT/WSS-Port
18083EMQX-Dashboard-Port
4370Erlang verteilter Übertragungsport
5370Cluster-RPC-Port. Standardmäßig hat jeder EMQX-Knoten einen RPC-Listening-Port.

Zugriff auf Dashboard

EMQX bietet ein Dashboard für Benutzer, um EMQX zu verwalten und zu überwachen und erforderliche Funktionen über Webseiten zu konfigurieren. Auf das Dashboard kann über einen Browser unter zugegriffen werden (Ersetzen Sie localhost durch die tatsächliche IP-Adresse), nachdem EMQX erfolgreich gestartet wurde.

Stellen Sie vor dem Zugriff auf Dashboard sicher, dass Port 18083 in der Server-Firewall geöffnet ist

Der Standardbenutzername von Dashboard ist adminund das Passwort ist public. Nach der ersten erfolgreichen Anmeldung werden Sie aufgefordert, das Passwort zu ändern.

MQTT-Dashboard

MQTT-Verbindungstest

Klicken Sie anschließend auf die WebSocket Client in der linken Menüleiste, die MQTT über Websocket testen kann, um zu überprüfen, ob der MQTT-Broker erfolgreich bereitgestellt wurde.

Voraussetzung ist, dass die Firewall das Recht für den Zugriff auf Port 8083 freigegeben hat

Verbinden

Wie in der folgenden Abbildung gezeigt, hat das Tool den Host automatisch gemäß der Zugriffsadresse ausgefüllt. Wir können die anklicken Connect Taste direkt.

Verbinden Sie sich mit MQTT-Broker 1

Die folgende Abbildung zeigt eine erfolgreiche Verbindung.

Verbinden Sie sich mit MQTT-Broker 2

Abonnieren Sie a testtopic wie in der Abbildung unten gezeigt.

Abonnieren Sie das MQTT-Thema

Veröffentlichen

Wie in der Abbildung unten gezeigt, haben wir zwei Nachrichten an veröffentlicht testtopic die erfolgreich empfangen wurden, was darauf hinweist, dass der MQTT-Broker erfolgreich bereitgestellt wurde und normal läuft.

Veröffentlichen Sie MQTT-Nachrichten

Bisher haben wir den Bau- und Verbindungstest des MQTT-Brokers abgeschlossen, aber der Server kann nur zum Testen verwendet werden. Um den in der Produktionsumgebung verfügbaren MQTT-Broker bereitzustellen, müssen wir auch die wichtigste Authentifizierungskonfiguration durchführen.

Authentifizierungskonfiguration

Standardmäßig lässt EMQX jede Client-Verbindung zu, bis der Benutzer einen Authentifikator erstellt, der einen Client gemäß den vom Client bereitgestellten Authentifizierungsinformationen authentifiziert. Ein Client kann nur dann erfolgreich eine Verbindung herstellen, wenn er die Authentifizierung besteht. Als Nächstes zeigen wir, wie die integrierte Datenbank von EMQX zur Authentifizierung von Benutzername und Passwort verwendet wird.

EMQX bietet auch Unterstützung für die Authentifizierungsintegration mit einer Vielzahl von Back-End-Datenbanken, einschließlich MySQL, PostgreSQL, MongoDB und Redis.

Weitere Authentifizierungsmethoden finden Sie in der Dokumentation:

Authentifizierung erstellen

EMQX unterstützt die Authentifizierungskonfiguration im Dashboard seit Version 5.0, sodass Benutzer sichere MQTT-Dienste bequemer und schneller erstellen können. Klicken Authentication unter dem Access Control Menü, um die Seite Authentifizierungskonfiguration aufzurufen, und klicken Sie dann auf Create Knopf ganz rechts.

MQTT-Authentifizierung

Wähle aus Password-Based Option, und klicken Sie dann auf Next.

MQTT-Authentifizierung passwortbasiert

Auswählen Built-in Database für die Datenbank und klicken Sie auf Next.

Integrierte MQTT-Authentifizierungsdatenbank

Als nächstes wählen Sie die UserID Type, Password Hash und Salt Positiondann klick Create.

Hier wird die Standardkonfiguration verwendet, während die Leser eine Auswahl gemäß den tatsächlichen Geschäftsanforderungen treffen können.

MQTT-Authentifizierung

Fügen Sie einen Benutzer hinzu

Die folgende Abbildung zeigt die erfolgreiche Erstellung der Authentifizierung. Klicken Sie anschließend auf Users um einen Benutzer hinzuzufügen.

Fügen Sie einen MQTT-Authentifizierungsbenutzer hinzu

Nachdem Sie die Seite Benutzerverwaltung aufgerufen haben, klicken Sie auf die Add Schaltfläche ganz rechts, stellen Sie die ein Username und Password im Pop-up-Feld und klicken Sie dann auf Save.

Fügen Sie einen MQTT-Authentifizierungsbenutzer hinzu

Die folgende Abbildung zeigt die erfolgreiche Erstellung.

Fügen Sie einen MQTT-Authentifizierungsbenutzer hinzu

Prüfen

Als nächstes verwenden wir das von Dashboard bereitgestellte Websocket-Tool, um zu testen, ob die Authentifizierung erfolgreich konfiguriert wurde. Geben Sie den Benutzernamen und das Passwort ein, die Sie gerade in der Connect-Konfiguration erstellt haben, und klicken Sie dann auf Connect. Ein Popup-Fenster auf der rechten Seite zeigt an, dass es verbunden ist.

MQTT-Authentifizierungstest

Verwenden Sie als Nächstes den Benutzernamen test1 das wurde nicht erstellt. Klicken Sie auf „Verbinden“ und Sie sehen die folgenden Informationen zu „Verbindung fehlgeschlagen“.

MQTT-Authentifizierungstest

Bisher haben wir die Authentifizierungskonfiguration für EMQX abgeschlossen und einen Single-Node-MQTT-Broker eingerichtet, der in der Produktionsumgebung verfügbar ist. Um die hohe Verfügbarkeit des MQTT-Brokers sicherzustellen, müssen Sie einen EMQX-Cluster mit mehreren Knoten erstellen. Die Cluster-Erstellung wird in diesem Dokument nicht detailliert beschrieben. Sie können sich auf die beziehen EMQX-Cluster-Dokumentation zur Konfiguration.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *