Wie installiere ich Centrifugo Messaging Server auf Ubuntu 20.04
Centrifugo ist ein freier, quelloffener Echtzeit Messaging Server. Er unterstützt WebSocket und SockJS, um eine Verbindung von den Anwendungsclients über den Webbrowser herzustellen und ist schnell und in der Lage, Millionen von gleichzeitigen Verbindungen zu verarbeiten. Er kann leicht in deine bestehende Anwendung integriert werden. Centrifugo ist sprachunabhängig und seine API kann von jeder Programmiersprache aus genutzt werden.
In dieser Anleitung werden wir dir zeigen, wie du Centrifugo auf einem Ubuntu 20.04 Server installierst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 20.04 läuft.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Erste Schritte
Bevor du beginnst, musst du deine Systempakete auf die neueste Version aktualisieren. Du kannst sie mit dem folgenden Befehl aktualisieren:
apt-get update -y
Sobald dein Server aktualisiert ist, kannst du mit dem nächsten Schritt fortfahren.
Centrifugo installieren
Standardmäßig ist das Centrifugo-Paket nicht im Standard-Repository von Ubuntu 20.04 enthalten. Daher musst du das Binary aus dem Git Repository herunterladen.
Du kannst die neueste Version von Centrifugo mit dem folgenden Befehl herunterladen:
wget https://github.com/centrifugal/centrifugo/releases/download/v2.8.4/centrifugo_2.8.4_linux_amd64.tar.gz
Sobald der Download abgeschlossen ist, extrahiere die heruntergeladene Datei mit dem folgenden Befehl:
tar -xvzf centrifugo_2.8.4_linux_amd64.tar.gz
Als nächstes verschiebst du das Centrifugo Binary in das Verzeichnis /usr/bin:
mv centrifugo /usr/bin
Überprüfe nun die Centrifugo-Version mit folgendem Befehl:
centrifugo version
Du solltest die folgende Ausgabe sehen:
Centrifugo v2.8.4 (Go version: go1.16.3)
Configure Centrifugo
Als nächstes musst du die Centrifugo-Konfigurationsdatei erzeugen. Du kannst sie mit dem folgenden Befehl erzeugen:
centrifugo genconfig
Dieser Befehl erzeugt eine config.json Datei in deinem aktuellen Arbeitsverzeichnis. Du kannst sie mit dem folgenden Befehl überprüfen:
cat config.json
Du solltest die folgende Ausgabe erhalten:
{ "v3_use_offset": true, "token_hmac_secret_key": "03599f21-9737-40bc-821e-afe34c1849ec", "admin_password": "51d88406-da91-4aab-979a-c2114b51a14c", "admin_secret": "fa12779d-ba9a-48b9-9cff-14bf96ee79b7", "api_key": "e667e485-1b46-4a5e-991e-a69729b57d07", "allowed_origins": [] }
Hinweis: Notiere dir das admin_password aus der obigen Ausgabe. Dieses benötigst du, um dich in das Webinterface einzuloggen.
Als nächstes erstellst du ein Verzeichnis für Centrifugo mit dem folgenden Befehl:
mkdir /etc/centrifugo
Als nächstes kopierst du die Datei config.json in das Verzeichnis /etc/centrifugo:
mv config.json /etc/centrifugo/config.json
Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Erstelle eine Systemd Service Datei für Centrifugo
Als nächstes musst du eine systemd Servicedatei erstellen, um den Centrifugo Dienst zu verwalten. Du kannst sie mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/centrifugo.service
Füge die folgenden Zeilen ein:
[Unit] Description=Centrifugo Websocket Server After=network.target syslog.target [Service] LimitNOFILE=30000 ExecStartPre=/usr/bin/centrifugo checkconfig --config /etc/centrifugo/config.json ExecStart=/usr/bin/centrifugo --config /etc/centrifugo/config.json --admin ExecReload=/bin/kill -HUP $MAINPID ExecStop=/bin/kill -SIGTERM $MAINPID TimeoutStopSec=5 KillMode=control-group RestartSec=2 Restart=always SyslogIdentifier=centrifugo [Install] WantedBy=multi-user.target Alias=centrifugo.service
Speichere und schließe die Datei und lade dann den systemd Daemon neu, um die Änderungen zu übernehmen:
systemctl daemon-reload
Als nächstes startest du den Centrifugo-Dienst und aktivierst ihn so, dass er beim Neustart des Systems startet:
systemctl start centrifugo systemctl enable centrifugo
Du kannst den Status des Centrifugo-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status centrifugo
Du solltest die folgende Ausgabe sehen:
? centrifugo.service - Centrifugo Websocket Server Loaded: loaded (/etc/systemd/system/centrifugo.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2021-05-22 10:01:52 UTC; 4s ago Process: 3024 ExecStartPre=/usr/bin/centrifugo checkconfig --config /etc/centrifugo/config.json (code=exited, status=0/SUCCESS) Main PID: 3040 (centrifugo) Tasks: 6 (limit: 2353) Memory: 7.8M CGroup: /system.slice/centrifugo.service ??3040 /usr/bin/centrifugo --config /etc/centrifugo/config.json --admin May 22 10:01:51 ubuntu2004 systemd[1]: Starting Centrifugo Websocket Server... May 22 10:01:52 ubuntu2004 systemd[1]: Started Centrifugo Websocket Server. May 22 10:01:52 ubuntu2004 centrifugo[3040]: {"level":"info","version":"2.8.4","runtime":"go1.16.3","pid":3040,"engine":"Memory","gomaxprocs":> May 22 10:01:52 ubuntu2004 centrifugo[3040]: {"level":"info","path":"/etc/centrifugo/config.json","time":"2021-05-22T10:01:52Z","message":"usi> May 22 10:01:52 ubuntu2004 centrifugo[3040]: {"level":"info","time":"2021-05-22T10:01:52Z","message":"serving websocket, SockJS, API, admin en>
Zu diesem Zeitpunkt ist der Centrifugo-Dienst gestartet und lauscht auf Port 8000. Du kannst es mit dem folgenden Befehl überprüfen:
ss -tunelp | grep 8000
Du solltest die folgende Ausgabe erhalten:
tcp LISTEN 0 4096 *:8000 *:* users:(("centrifugo",pid=3040,fd=3)) ino:26878 sk:c v6only:0 <->
Access Centrifugo Web UI
Öffne nun deinen Webbrowser und rufe das Centrifugo Webinterface über die URL http://your-server-ip:8000 auf. Du wirst auf die Centrifugo Login Seite weitergeleitet:
Gib dein Admin-Passwort ein und klicke auf die Schaltfläche LOG IN. Auf der folgenden Seite solltest du das Centrifugo Dashboard sehen:
Fazit
Herzlichen Glückwunsch! Du hast den Centrifugo Server erfolgreich auf einem Ubuntu 20.04 Server installiert. Für weitere Informationen solltest du die Centrifugo Dokumentation lesen.