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.
[root@liptan-pc ~]# 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.
Sobald Sie eingeloggt sind, sehen Sie das administrative Dashboard.
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.
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.
Sie finden die Liste der aktuellen Verbindung auf der Registerkarte Verbindungen
Ebenso finden Sie die Kanäle und den Austausch auf den jeweiligen Registerkarten.
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.