RabbitMQ auf FreeBSD 14.0 installieren und einrichten

RabbitMQ ist ein Open-Source-Nachrichtenbroker, der die Kommunikation zwischen verteilten Systemen über Message-Queues ermöglicht. Das System basiert auf dem Advanced Message Queuing Protocol (AMQP), um eine zuverlässige und asynchrone Nachrichtenübertragung sicherzustellen. Mit Unterstützung für verschiedene Kommunikationsmuster wie Publish/Subscribe, Request/Reply und Punkt-zu-Punkt bietet RabbitMQ zudem Funktionen für Ausfallsicherheit, Sicherheit und dauerhafte Speicherung. Diese Eigenschaften machen es zu einer stabilen Lösung für leistungsstarke Anwendungen.

In dieser Anleitung erfahren Sie, wie Sie RabbitMQ unter FreeBSD 14.0 installieren und die webbasierte Administrationsoberfläche zur Verwaltung von Queues nutzen.

Voraussetzungen

Stellen Sie vor der Installation sicher, dass Sie folgende Schritte abgeschlossen haben:

  • Eine FreeBSD 14.0-Instanz eingerichtet haben
  • Einen A-Eintrag für Ihre Domain zur öffentlichen IP der Instanz angelegt haben
  • Per SSH auf die Instanz zugegriffen haben
  • Einen Nicht-Root-Benutzer mit sudo-Rechten angelegt und zu diesem gewechselt haben

RabbitMQ unter FreeBSD 14.0 installieren

RabbitMQ ist in den offiziellen FreeBSD 14.0-Paketquellen verfügbar. Alternativ können Sie es über das Ports-System oder als generisches Binary installieren. Die nachfolgenden Schritte zeigen die Installation über den Paketmanager pkg.

Paketindex aktualisieren

RabbitMQ-Paket installieren

$ sudo pkg install -y rabbitmq

Dienst für Autostart aktivieren

$ sudo sysrc rabbitmq_enable=YES

RabbitMQ-Dienst starten

$ sudo service rabbitmq start

Status des RabbitMQ-Dienstes überprüfen

$ sudo service rabbitmq status

Beispielausgabe:

Status des Knotens ……
Laufzeit

OS PID: 1283
Betriebssystem: FreeBSD
Laufzeit (Sekunden): 7
Wartungsmodus: false

Listener

Interface: [::], Port: 25672, Protokoll: clustering, Zweck: Kommunikation zwischen Knoten und CLI
Interface: [::], Port: 5672, Protokoll: amqp, Zweck: AMQP 0-9-1 und AMQP 1.0
Interface: 0.0.0.0, Port: 5672, Protokoll: amqp, Zweck: AMQP 0-9-1 und AMQP 1.0

Wenn Sie eine alternative Einrichtung bevorzugen, können Sie auch eine Anleitung zur Installation von RabbitMQ auf Ubuntu verwenden, um Ihre Messaging-Workloads zu optimieren.

RabbitMQ einrichten

Obwohl RabbitMQ standardmäßig über die Kommandozeile bedient werden kann, bietet das Webinterface eine komfortable Oberfläche zur Verwaltung von Knoten und Queues. Die folgenden Schritte aktivieren das Webinterface und richten ein Administratorkonto ein.

Management-Plugin aktivieren

$ sudo rabbitmq-plugins enable rabbitmq_management

Ausgabe:

Aktivieren von Plugins auf dem Knoten rabbit@centron:
rabbitmq_management
Folgende Plugins wurden konfiguriert:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Übernehme Konfiguration für rabbit@centron…
Folgende Plugins wurden aktiviert:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch

3 Plugins gesetzt.
Offline-Änderung; wirksam nach Neustart des Brokers.

Admin-Benutzer anlegen

$ sudo -u rabbitmq rabbitmqctl add_user admin strong_password

Ausgabe:
Benutzer „admin“ wird hinzugefügt …
Fertig. Denken Sie daran, diesem Benutzer Berechtigungen für virtuelle Hosts zu geben! Nutzen Sie ‘rabbitmqctl help set_permissions’ für Details.

Administratorrechte zuweisen

$ sudo -u rabbitmq rabbitmqctl set_user_tags admin administrator

Ausgabe:
Setze Benutzer-Tags für „admin“ auf [administrator] …

Vollzugriff gewähren

$ sudo -u rabbitmq rabbitmqctl set_permissions admin ".*" ".*" ".*"

Das Muster ".*" in diesem Befehl ist ein regulärer Ausdruck, der vollen Zugriff auf alle Operationen wie Konfiguration, Schreiben und Lesen gewährt.

RabbitMQ neu starten

$ sudo service rabbitmq restart

Ausgabe:
Beende rabbitmq.
Starte rabbitmq.

RabbitMQ unter FreeBSD 14.0 mit Nginx und SSL absichern

Standardmäßig ist die Weboberfläche von RabbitMQ über Port 15672 erreichbar. Um die Sicherheit zu erhöhen, empfiehlt es sich, den Zugriff über einen Reverse Proxy zu leiten und die Verbindung per SSL zu verschlüsseln. Im Folgenden findest du die Schritte zur Einrichtung von Nginx als Reverse Proxy und zur Konfiguration der IPFW-Firewall für SSH-, HTTP- und HTTPS-Zugriff.

Standard-Gastbenutzer entfernen

$ sudo -u rabbitmq rabbitmqctl delete_user guest

Ausgabe:
Benutzer „guest“ wird gelöscht …

Nginx installieren und aktivieren


$ sudo pkg install -y nginx


$ sudo sysrc nginx_enable=yes

Verzeichnis für virtuelle Hosts erstellen

$ sudo mkdir /usr/local/etc/nginx/conf.d

Virtuellen Host konfigurieren

$ sudo vi /usr/local/etc/nginx/conf.d/app.example.com.conf

Füge folgenden Inhalt ein und ersetze app.example.com mit deiner Domain:

server {
    listen 80;
    listen [::]:80;

    server_name app.example.com;

    location / {
        proxy_pass http://localhost:15672;
        proxy_set_header Host              $host;
        proxy_set_header Upgrade           $http_upgrade;
        proxy_set_header Connection        "upgrade";
        proxy_set_header X-Real-IP         $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host  $host;
        proxy_set_header X-Forwarded-Port  $server_port;
    }
}

Diese Konfiguration erstellt einen virtuellen Host, der auf Port 80 lauscht und Anfragen an die RabbitMQ-Weboberfläche weiterleitet.

Hauptkonfiguration von Nginx anpassen

$ sudo vi /usr/local/etc/nginx/nginx.conf

Füge vor der schließenden geschweiften Klammer } folgende Zeile ein:

Diese Anweisung sorgt dafür, dass Nginx zusätzliche Konfigurationen aus dem conf.d-Verzeichnis lädt.

Nginx-Konfiguration prüfen und anwenden

Ausgabe:
nginx: die Konfigurationsdatei /usr/local/etc/nginx/nginx.conf ist syntaktisch korrekt
nginx: Konfigurationstest erfolgreich

$ sudo service nginx restart

Ausgabe:
Sanity-Check der nginx-Konfiguration wird durchgeführt:
nginx: die Konfigurationsdatei /usr/local/etc/nginx/nginx.conf ist syntaktisch korrekt
nginx: Konfigurationstest erfolgreich
nginx wird gestartet.

Certbot für SSL-Verschlüsselung installieren

$ sudo pkg install -y security/py-certbot security/py-certbot-nginx

SSL-Zertifikat mit Certbot generieren

Ersetze app.example.com und hello@example.com durch deine echte Domain und E-Mail-Adresse:

$ sudo certbot --nginx -d app.example.com -m hello@example.com --agree-tos

Wöchentliche Zertifikatserneuerung aktivieren

$ echo weekly_certbot_enable="YES" | sudo tee -a /etc/periodic.conf

IPFW-Firewall unter FreeBSD einrichten

Firewall beim Systemstart aktivieren

$ sudo sysrc firewall_enable="YES"

Ausgabe:
firewall_enable: NO -> YES

Ausgaben beim Laden unterdrücken

$ sudo sysrc firewall_quiet="YES"

Ausgabe:
firewall_quiet: NO -> YES

Firewall-Typ auf Workstation setzen

$ sudo sysrc firewall_type="workstation"

Ausgabe:
firewall_type: UNKNOWN -> workstation

Zugriff auf Standarddienste erlauben

$ sudo sysrc firewall_myservices="ssh/tcp http/tcp https/tcp"

Ausgabe:
firewall_myservices: -> ssh/tcp http/tcp https/tcp

Zugriff von allen IPs erlauben

$ sudo sysrc firewall_allowservices="any"

Firewall-Dienst starten

Zugriff auf die RabbitMQ-Weboberfläche

Um Queues und Knoten auf deinem RabbitMQ-Server zu verwalten, befolge die folgenden Schritte zum Öffnen der webbasierten Administrationsoberfläche.

Öffne in einem Browser wie Chrome deine RabbitMQ-Domain (z. B. rabbitmq.example.com):

https://your-domain.com

Sobald die Seite geladen ist, stelle sicher, dass das RabbitMQ-Loginfenster angezeigt wird. Gib dort die zuvor eingerichteten Administrator-Zugangsdaten ein, um dich anzumelden.

Nach erfolgreicher Anmeldung kannst du über die RabbitMQ-Oberfläche Aufgaben rund um Queue-Management und Knotensteuerung durchführen.

Fazit

Du hast RabbitMQ erfolgreich auf FreeBSD 14.0 eingerichtet und die Benutzeranmeldung sicher konfiguriert. Als leistungsstarker Nachrichtenbroker lässt sich RabbitMQ flexibel in Anwendungslandschaften integrieren, um Queue-basierte Arbeitslasten effizient zu verarbeiten. Weitere Informationen und Konfigurationsmöglichkeiten findest du in der offiziellen RabbitMQ-Dokumentation.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Es wurden keine Ergebnisse gefunden.