RabbitMQ ist eine Open-Source-Message-Broker-Software, die das Advanced Message Queuing Protocol (AMQP) implementiert. RabbitMQ funktioniert, indem es Nachrichten von Herausgebern (Anwendungen, die sie veröffentlichen) empfängt und sie an Verbraucher (Anwendungen, die sie verarbeiten) weiterleitet.
Verwandte Inhalte
- So installieren Sie Erlang auf Fedora 35
- So installieren Sie Erlang auf Rocky Linux/Alma Linux/CentOS 8
- So installieren und aktivieren Sie das EPEL-Repository unter Rocky Linux/Centos 8
Voraussetzungen
Um mitzumachen, stellen Sie sicher, dass Sie Folgendes haben
- Ein aktualisierter Fedora 35-Server
- Zugang zum Internet
- Root-Zugriff oder Benutzer mit Sudo-Zugriff
Inhaltsverzeichnis
- Aktualisierung des Systems
- PackageCloud Yum-Repository hinzufügen
- Erlang installieren
- KaninchenMQ installieren
- Kaninchenmq-Server-Dienst starten und aktivieren
- Optional:RabbitMQ-Dashboard aktivieren
- Grundlegende RabbitMQ-Benutzerverwaltungsbefehle
1. Aktualisierung des Systems
Stellen Sie vor dem Fortfahren sicher, dass die Serverpakete auf dem neuesten Stand sind. Verwenden Sie diesen Befehl, um das zu erreichen:
sudo dnf -y update
2. PackageCloud Yum-Repository hinzufügen
Das RabbitMQ-Paket wird über Yum-Repositories auf PackageCloud vertrieben. Installieren Sie das PackageCloud Yum-Repository mit diesem Befehl:
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
Dies ist die Ausgabe auf meinem Server:
$ curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
Detected operating system as fedora/34.
Checking for curl...
Detected curl...
Downloading repository file: https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/config_file.repo?os=fedora&dist=34&source=script
done.
Installing pygpgme to verify GPG signatures...
rabbitmq_erlang 3.2 kB/s | 951 B 00:00
rabbitmq_erlang-source 4.5 kB/s | 951 B 00:00
rabbitmq_rabbitmq-server-source 1.4 kB/s | 819 B 00:00
rabbitmq_rabbitmq-server-source 23 kB/s | 3.9 kB 00:00
Importing GPG key 0x4D206F89:
Userid : "https://packagecloud.io/rabbitmq/rabbitmq-server (https://packagecloud.io/docs#gpg_signing) <[email protected]>"
Fingerprint: 8C69 5B02 19AF DEB0 4A05 8ED8 F4E7 8920 4D20 6F89
From : https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
rabbitmq_rabbitmq-server-source 393 B/s | 296 B 00:00
No match for argument: pygpgme
Error: Unable to find a match: pygpgme
WARNING:
The pygpgme package could not be installed. This means GPG verification is not possible for any RPM installed on your system.
To fix this, add a repository with pygpgme. Usualy, the EPEL repository for your system will have this.
More information: https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F
Installing yum-utils...
rabbitmq_rabbitmq-server-source 4.6 kB/s | 951 B 00:00
Package dnf-utils-4.0.24-1.fc34.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!
WARNING:
The yum-utils package could not be installed. This means you may not be able to install source RPMs or use other yum features.
Generating yum cache for rabbitmq_rabbitmq-server...
Generating yum cache for rabbitmq_rabbitmq-server-source...
The repository is setup! You can now install packages.
3. Erlang installieren
RabbitMQ benötigt zum Ausführen Erlang/OTP. Das rabbitmq/erlang-rpm-Projekt stellt ein 64-Bit-Erlang-RPM-Paket ohne Abhängigkeit bereit, das gerade genug bietet, um RabbitMQ auszuführen . Holen Sie sich das Neueste aus den Releases hier https://github.com/rabbitmq/erlang-rpm/releases.
curl -LO -C - https://github.com/rabbitmq/erlang-rpm/releases/download/v24.1.4/erlang-24.1.4-1.el8.x86_64.rpm
Installieren Sie dann die heruntergeladene Datei
sudo dnf install ./erlang-24.1.4-1.el8.x86_64.rpm
Dies ist die Ausgabe auf meinem Server
$ sudo dnf install ./erlang-24.1.4-1.el8.x86_64.rpm
rabbitmq_rabbitmq-server 1.3 kB/s | 833 B 00:00
rabbitmq_rabbitmq-server-source 1.6 kB/s | 819 B 00:00
Dependencies resolved.
=====================================================================================================
Package Architecture Version Repository Size
=====================================================================================================
Installing:
erlang x86_64 24.1.4-1.el8 @commandline 20 M
Transaction Summary
=====================================================================================================
Install 1 Package
Total size: 20 M
Installed size: 36 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : erlang-24.1.4-1.el8.x86_64 1/1
Running scriptlet: erlang-24.1.4-1.el8.x86_64 1/1
Verifying : erlang-24.1.4-1.el8.x86_64 1/1
Installed:
erlang-24.1.4-1.el8.x86_64
Complete!
4. Installieren von Rabbitmq
Nachdem Sie das RabbitMQ-Repository konfiguriert haben, installieren Sie RabbitMQ Server mit den folgenden Befehlen.
sudo dnf install -y rabbitmq-server
Paketdetails können mit rpm
abgefragt werden Befehl mit der Option -qi
.
$ rpm -qi rabbitmq-server Name : rabbitmq-server Version : 3.8.23 Release : 1.fc34 Architecture: x86_64 Install Date: Fri 12 Nov 2021 07:14:47 PM UTC Group : Unspecified Size : 16503697 License : MPLv1.1 Signature : RSA/SHA256, Wed 20 Oct 2021 03:42:27 PM UTC, Key ID 1161ae6945719a39 Source RPM : rabbitmq-server-3.8.23-1.fc34.src.rpm Build Date : Wed 20 Oct 2021 03:16:35 PM UTC Build Host : buildvm-x86-11.iad2.fedoraproject.org Packager : Fedora Project Vendor : Fedora Project URL : https://www.rabbitmq.com/ Bug URL : https://bugz.fedoraproject.org/rabbitmq-server Summary : The RabbitMQ server Description : RabbitMQ is an implementation of AMQP, the emerging standard for high performance enterprise messaging. The RabbitMQ server is a robust and scalable implementation of an AMQP broker.
5. Rabbitmq-Server-Dienst starten und aktivieren
Starten Sie den Dienst
sudo systemctl start rabbitmq-server
Überprüfen Sie dann den Status, um zu bestätigen, dass es ausgeführt wird
$ sudo systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2021-11-12 19:15:12 UTC; 2s ago
Main PID: 67336 (beam.smp)
Status: "Initialized"
Tasks: 23 (limit: 4603)
Memory: 93.1M
CPU: 7.581s
CGroup: /system.slice/rabbitmq-server.service
├─67336 /usr/lib64/erlang/erts-11.2.2.7/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbw>
├─67345 erl_child_setup 1024
├─67387 inet_gethost 4
└─67388 inet_gethost 4
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]: TLS Library: OpenSSL - OpenSSL 1.1.1l FIPS 24 Aug 2021
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]: Doc guides: https://rabbitmq.com/documentation.html
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]: Support: https://rabbitmq.com/contact.html
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]: Tutorials: https://rabbitmq.com/getstarted.html
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]: Monitoring: https://rabbitmq.com/monitoring.html
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]: Logs: /var/log/rabbitmq/[email protected]
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]: /var/log/rabbitmq/[email protected]_upgrade.log
Nov 12 19:15:08 cloudsrv.citizix.com rabbitmq-server[67336]: Config file(s): /etc/rabbitmq/rabbitmq.conf
Nov 12 19:15:12 cloudsrv.citizix.com rabbitmq-server[67336]: Starting broker... completed with 0 plugins.
Nov 12 19:15:12 cloudsrv.citizix.com systemd[1]: Started RabbitMQ broker.
Jetzt können Sie es beim Booten aktivieren
sudo systemctl enable rabbitmq-server
Sie können den Status der Rabbitmq-Interna abrufen:
$ sudo rabbitmqctl status
6. Optional:RabbitMQ Dashboard aktivieren
Verwenden Sie die rabbitmq-plugins enable
Befehl zum Aktivieren des Management-Dashboards:
$ sudo rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node [email protected]:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to [email protected]
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
started 3 plugins.
Der Webdienst lauscht auf Port 15672
$ ss -tunlp | grep 15672
tcp LISTEN 0 128 0.0.0.0:15672 0.0.0.0:*
Wenn Sie einen aktiven Firewalld-Dienst haben, lassen Sie die Ports 5672
zu und 15672
$ ss -tunlp | grep 15672
tcp LISTEN 0 1024 0.0.0.0:15672 0.0.0.0:*
Greifen Sie darauf zu, indem Sie die URL http://[server IP]:15672
öffnen wie http://127.0.0.1:15672
Standardmäßig der Gast Benutzer existiert und kann sich nur von localhost
verbinden . Mit diesem Benutzer können Sie sich lokal mit dem Passwort „guest“ anmelden
Um sich im Netzwerk anmelden zu können, erstellen Sie einen Admin-Benutzer wie unten:
$ sudo rabbitmqctl add_user admin Secr3t Adding user "admin" ... Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more. $ sudo rabbitmqctl set_user_tags admin administrator Setting tags for user "admin" to [administrator] ...
Melden Sie sich mit diesem Admin-Benutzernamen und dem zugewiesenen Passwort an. Sie sollten eine Oberfläche ähnlich der folgenden sehen:
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042914032445.png)
So verwenden Sie rabbitmqadmin
Befehlszeilentool, kopieren Sie es in Ihr $PATH.
sudo dnf install -y mlocate sudo updatedb sudo cp `locate rabbitmqadmin` /usr/local/bin/rabbitmqadmin sudo chmod +x /usr/local/bin/rabbitmqadmin
Sie benötigen python
installiert und konfiguriert, um rabbitmqadmin auszuführen. Verwenden Sie diesen Befehl, um sicherzustellen, dass Python installiert ist:
sudo dnf install -y python3
7. Grundlegende RabbitMQ-Benutzerverwaltungsbefehle
Benutzer löschen:
sudo rabbitmqctl delete_user user
Benutzerkennwort ändern:
sudo rabbitmqctl change_password user strongpassword
Neuen virtuellen Host erstellen:
sudo rabbitmqctl add_vhost /my_vhost
Verfügbare Virtualhosts auflisten:
sudo rabbitmqctl list_vhosts
Einen virtuellen Host löschen:
sudo rabbitmqctl delete_vhost /myvhost
Erteilen Sie Benutzerberechtigungen für vhost:
sudo rabbitmqctl set_permissions -p /myvhost user ".*" ".*" ".*"
Vhost-Berechtigungen auflisten:
sudo rabbitmqctl list_permissions -p /myvhost
So listen Sie Benutzerberechtigungen auf:
rabbitmqctl list_user_permissions user
Benutzerberechtigungen löschen:
rabbitmqctl clear_permissions -p /myvhost user
Schlussfolgerung
Wir haben es geschafft, Rabbitmq in dieser Anleitung zu installieren