RabbitMQ ist eine kostenlose Open-Source-Message-Broker-Software für Unternehmen. Es ist in Erlang geschrieben und implementiert das Advanced Message Queuing Protocol (AMQP). Es bietet Client-Bibliotheken in allen wichtigen Programmiersprachen. Es unterstützt mehrere Messaging-Protokolle, Message Queuing, Lieferbestätigung, flexibles Routing zu Warteschlangen und mehrere Austauschtypen. Es bietet auch eine einfach zu verwendende HTTP-API, ein Befehlszeilentool und eine Web-Benutzeroberfläche zum Verwalten von RabbitMQ.
In diesem Tutorial installieren wir RabbitMQ auf einem CentOS 7-Server.
Voraussetzung
- Minimaler CentOS 7-Server
- Root-Rechte. Diese Anleitung wurde als Root-Benutzer geschrieben, wenn Sie als sudo-Benutzer angemeldet sind, führen Sie sudo -i. aus
Basissystem aktualisieren
Vor der Installation eines Pakets wird empfohlen, die Pakete und das Repository mit dem folgenden Befehl zu aktualisieren.
yum -y update
Sobald Ihr System aktualisiert ist, fahren Sie mit der Installation von Erlang fort.
Installieren Sie Erlang
RabbitMQ ist in Erlang-Sprache geschrieben, in diesem Tutorial werden wir die neueste Version von Erlang auf dem Server installieren. Erlang ist im standardmäßigen YUM-Repository nicht verfügbar, daher müssen Sie das EPEL-Repository installieren. Führen Sie dafür den folgenden Befehl aus.
yum -y installiere epel-release
yum -y update
Installieren Sie nun Erlang mit dem folgenden Befehl.
yum -y install erlang socat
Sie können jetzt die Erlang-Version mit dem folgenden Befehl überprüfen.
erl -Version
Sie erhalten die folgende Ausgabe.
[[email protected] ~]# erl -versionErlang (ASYNC_THREADS,HIPE) (BEAM) Emulatorversion 5.10.4
Um zur Erlang-Shell zu wechseln, können Sie den folgenden Befehl eingeben.
erl
Die Shell ändert sich und Sie erhalten die folgende Ausgabe.
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]Eshell V5.10.4 (Abbruch mit ^G)1>
Sie können die Shell verlassen, indem Sie Strg + C drücken zweimal. Erlang ist jetzt auf Ihrem System installiert, Sie können jetzt mit der Installation von RabbitMQ fortfahren.
Installieren Sie RabbitMQ
RabbitMQ bietet RPM-Pakete für Enterprise-Linux-Systeme, die vorkompiliert sind und direkt installiert werden können. Die einzige erforderliche Abhängigkeit war die Installation von Erlang im System. Da wir Erlang installiert haben, können wir mit dem Herunterladen von RabbitMQ fortfahren. Laden Sie das Erlang-RPM-Paket herunter, indem Sie es ausführen.
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
Wenn Sie wget nicht installiert haben, können Sie yum -y install wget ausführen. Sie können immer den Link zur neuesten Version der Download-Seite von RabbitMQ finden.
Importieren Sie den GPG-Schlüssel, indem Sie Folgendes ausführen:
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
Installieren Sie das RPM-Paket, indem Sie Folgendes ausführen:
rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm
RabbitMQ ist jetzt auf Ihrem System installiert.
Starte RabbitMQ
Sie können den RabbitMQ-Serverprozess starten, indem Sie den folgenden Befehl ausführen.
systemctl starte rabbitmq-server
Führen Sie den folgenden Befehl aus, um RabbitMQ beim Booten automatisch zu starten.
systemctl aktiviert den Rabbitmq-Server
Um den Status des RabbitMQ-Servers zu überprüfen, führen Sie Folgendes aus:
Systemctl-Status Rabbitmq-Server
Bei erfolgreichem Start sollten Sie die folgende Ausgabe erhalten.
Firewall- und SELinux-Regeln ändern
Wenn Sie firewalld installiert und ausgeführt haben, müssen Sie Port 8161 durch die Firewall zulassen. Führen Sie dafür den folgenden Befehl aus.
firewall-cmd --zone=public --permanent --add-port=4369/tcp
firewall-cmd --zone=public --permanent --add-port=25672/tcp
firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp
firewall-cmd --zone=public --permanent --add-port=15672/tcp
firewall-cmd --zone=public --permanent --add-port=61613-61614/tcp
firewall-cmd --zone=public --permanent --add-port=1883/tcp
firewall-cmd --zone=public --permanent --add-port=8883/tcp
firewall-cmd --reload
Wenn Sie SELinux aktiviert haben, müssen Sie den folgenden Befehl ausführen, um den RabbitMQ-Dienst zuzulassen.
setsebool -P nis_enabled 1
Access Web Console
Aktivieren Sie die RabbitMQ-Webverwaltungskonsole, indem Sie Folgendes ausführen:
rabbitmq-Plugins ermöglichen rabbitmq_management
Geben Sie dem RabbitMQ-Benutzer das Eigentum an RabbitMQ-Dateien, indem Sie Folgendes ausführen:
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
Jetzt müssen Sie einen Administratorbenutzer für die RabbitMQ-Webverwaltungskonsole erstellen. Führen Sie dafür die folgenden Befehle aus.
rabbitmqctl add_user admin StrongPassword
rabbitmqctl set_user_tags admin Administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Ändern Sie admin in Ihren bevorzugten Benutzernamen für Administratorbenutzer. Stellen Sie sicher, dass Sie StrongPassword in ein sehr starkes Passwort ändern.
Um auf das Administrationspanel von RabbitMQ zuzugreifen, verwenden Sie Ihren bevorzugten Webbrowser und öffnen Sie die folgende URL.
http://Your_Server_IP:15672/
Sie sehen die folgende Anmeldeseite.
Sobald Sie angemeldet sind, sehen Sie das Verwaltungs-Dashboard.
Sie finden die Liste der Benutzer, virtuellen Hosts und Richtlinien unter Admin Registerkarte des Dashboards. Sie sollten den Gast löschen Benutzer aus Sicherheitsgründen.
Die Liste der Nachrichtenwarteschlangen finden Sie unter Warteschlangen Tab. Über diese Schnittstelle können Sie eine neue Warteschlange erstellen oder eine vorhandene löschen.
Die Liste der aktuellen Verbindungen finden Sie unter Verbindungen Registerkarte
Ebenso finden Sie die Kanäle und Börsen auf ihren jeweiligen Registerkarten.
Schlussfolgerung
Sie können RabbitMQ jetzt einfach für die Nachrichtenwarteschlange zwischen den Prozessen, Servern und Clients installieren. Um mehr über RabbitMQ zu erfahren, können Sie die RabbitMQ-Website durchsuchen.