Wie man RabbitMQ Server unter CentOS 7 installiert

RabbitMQ ist eine freie und quelloffene Unternehmens-Nachrichtenvermittlungssoftware. Es ist in Erlang geschrieben und implementiert das Advanced Message Queueing Protocol (AMQP). Es stellt Client-Bibliotheken in allen wichtigen Programmiersprachen zur Verfügung. Es unterstützt mehrere Nachrichtenprotokolle, Nachrichten-Warteschlangen, Zustellbestätigungen, flexibles Routing zu Warteschlangen, mehrere Austauscharten. Es bietet außerdem eine einfach zu bedienende HTTP-API, ein Befehlszeilen-Tool und eine Web-UI zur Verwaltung von RabbitMQ.

In diesem Tutorial werden wir RabbitMQ auf dem CentOS 7 Server installieren.

Voraussetzung

  • Minimaler CentOS 7-Server
  • Root-Privilegien. Dieser Leitfaden ist als Root-Benutzer geschrieben, wenn Sie als sudo-Benutzer angemeldet sind, führen Sie sudo -i aus.

Basis-System aktualisieren

Bevor Sie ein Paket installieren, 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.

Erlang installieren

RabbitMQ ist in der Sprache Erlang geschrieben, in diesem Tutorial werden wir die neueste Version von Erlang auf dem Server installieren. Erlang ist im Standard YUM-Repository nicht verfügbar, daher müssen Sie das EPEL-Repository installieren. Führen Sie den folgenden Befehl für diese aus.

yum -y install epel-release
yum -y update

Installieren Sie nun Erlang mit folgendem Befehl.

yum -y install erlang socat

Sie können nun die Erlang-Version mit dem folgenden Befehl überprüfen.

erl -version

Sie erhalten die folgende Ausgabe.

[[email protected] ~]# erl -version
Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 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  (abort with ^G)
1>

Sie können die Shell durch zweimaliges Drücken von Strg + C verlassen. Erlang ist nun auf Ihrem System installiert, Sie können nun mit der Installation von RabbitMQ fortfahren.

RabbitMQ installieren

RabbitMQ bietet ein RPM-Paket für Unternehmens-Linux-Systeme, das vorkompiliert ist und direkt installiert werden kann. Die einzige erforderliche Abhängigkeit war die Installation von Erlang in das 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 finden immer den Link zur neuesten Version der RabbitMQ-Downloadseite.

Importieren Sie den GPG-Schlüssel durch Ausführen:

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

Installieren Sie das RPM-Paket, indem Sie es ausführen:

rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm

RabbitMQ ist jetzt auf Ihrem System installiert.

Start von RabbitMQ

Sie können den RabbitMQ-Serverprozess starten, indem Sie den folgenden Befehl ausführen.

systemctl start rabbitmq-server

Um RabbitMQ automatisch beim Hochfahren zu starten, führen Sie den folgenden Befehl aus.

systemctl enable rabbitmq-server

Um den Status des RabbitMQ-Servers zu überprüfen, führen Sie ihn aus:

systemctl status rabbitmq-server

Bei erfolgreichem Start sollten Sie folgende Ausgabe erhalten.

? rabbitmq-server.service - RabbitMQ broker
   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-07-15 18:59:14 UTC; 3min 22s ago
 Main PID: 29006 (beam.smp)
   Status: "Initialized"
   CGroup: /system.slice/rabbitmq-server.service
           ??29006 /usr/lib64/erlang/erts-9.0/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -stbt db -zdbbl 32000 -K tr...
           ??29149 /usr/lib64/erlang/erts-9.0/bin/epmd -daemon
           ??29283 erl_child_setup 1024
           ??29303 inet_gethost 4
           ??29304 inet_gethost 4

Jul 15 18:59:13 centos rabbitmq-server[29006]: Starting broker...
Jul 15 18:59:14 centos rabbitmq-server[29006]: systemd unit for activation check: "rabbitmq-server.service"
Jul 15 18:59:14 centos systemd[1]: Started RabbitMQ broker.
Jul 15 18:59:14 centos rabbitmq-server[29006]: completed with 0 plugins.

Ändern der Firewall und SELinux-Regeln

Wenn Sie eine Firewall installiert und in Betrieb haben, müssen Sie den Port 8161 durch die Firewall hindurch zulassen. Führen Sie den folgenden Befehl für diese 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

Zugriff auf die Web-Konsole

Aktivieren Sie die RabbitMQ Web-Management-Konsole durch Ausführen:

rabbitmq-plugins enable rabbitmq_management

Geben Sie dem RabbitMQ-Benutzer das Eigentum an den RabbitMQ-Dateien, indem Sie sie ausführen:

chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/

Jetzt müssen Sie einen administrativen Benutzer für die RabbitMQ-Webmanagementkonsole erstellen. Führen Sie die folgenden Befehle für diese aus.

rabbitmqctl add_user admin StrongPassword
 rabbitmqctl set_user_tags admin administrator
 rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

Ändern Sie admin auf Ihren bevorzugten Benutzernamen für den Administrator-Benutzer. Ändern Sie StrongPassword unbedingt in ein sehr starkes Passwort.

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 folgende Anmeldeseite.

KaninchenMQ-Anmeldung

Sobald Sie eingeloggt sind, sehen Sie das administrative Dashboard.

RabbitMQ Übersicht

Sie finden die Liste der Benutzer, virtuellen Hosts und Richtlinien auf der Registerkarte „Admin“ des Dashboards. Sie sollten den Gast-Benutzer aus Sicherheitsgründen löschen.

RabbitMQ-Benutzer

Die Liste der Nachrichten-Warteschlangen finden Sie unter der Registerkarte Warteschlangen. Über diese Schnittstelle können Sie eine neue Warteschlange erstellen oder eine bestehende löschen.

KaninchenMQ-Warteschlangen

Sie finden die Liste der aktuellen Verbindung auf der Registerkarte Verbindungen

RabbitMQ-Verbindungen

Ebenso finden Sie die Kanäle und den Austausch auf den jeweiligen Registerkarten.

KaninchenMQ-Austausch

Schlussfolgerung

Sie können jetzt einfach RabbitMQ für die Nachrichtenwarteschlange zwischen den Prozessen, Servern und Clients installieren. Um mehr über RabbitMQ zu erfahren, können Sie die RabbitMQ-Website durchsuchen.

Das könnte Dich auch interessieren …