Kako instalirati Centrifugo Messaging Server na Ubuntu 20.04

Centrifugalno je skalabilan poslužitelj za razmjenu poruka u stvarnom vremenu. Centrifugo radi u sprezi s pozadinom aplikacije napisanom u bilo kojem programskom jeziku. Radi kao zasebna usluga i čuva trajne Websocket ili SockJS veze s klijentima aplikacije. Kada trebate isporučiti događaj svojim klijentima u stvarnom vremenu, objavljujete ga u Centrifugo API-ju. Centrifugo zatim prenosi događaj svim povezanim klijentima zainteresiranim za ovaj događaj (tj. klijentima pretplaćenim na kanal događaja).

U ovom vodiču naučit ćete kako instalirati Centrifugo na Ubuntu 20.04 poslužitelj.

Preduvjeti

  • Root pristup ili sudo privilegije.
  • Ubuntu 20.04 LTS. (21.04 radi s ovim vodičem)
  • WGET naredba
sudo apt update && sudo apt upgrade -y \
sudo apt install wget

Oglas


Preuzmite Centrifugo

Ubuntu spremišta ne uključuju Centrifugo, tako da ćete morati preuzeti izvor iz njegovog GIT spremišta. Preporuča se provjeriti stranicu Izdanja jer je primjer vodiča u nastavku Centrifugo verzija možda zastarjela. Nakon što ste posjetili Stranica izdanja i dobili najnoviju vezu, upišite sljedeće.

wget https://github.com/centrifugal/centrifugo/releases/download/v2.8.5/centrifugo_2.8.5_linux_amd64.tar.gz

Kada se preuzimanje završi, raspakirajte preuzetu datoteku upisivanjem sljedeće naredbe.

tar -xvzf centrifugo_2.8.5_linux_amd64.tar.gz

Instalirajte Centrifugo

Sada ćete morati premjestiti binarni program Centrifugo u direktorij /usr/bin:

sudo mv centrifugo /usr/bin

Na kraju, trebali biste provjeriti verziju kako biste bili sigurni da je instalirana i da sve do sada radi ispravno.

centrifugo version

Primjer rezultata:

~$ centrifugo version
 Centrifugo v2.8.5 (Go version: go1.16.4)

Oglas


Konfigurirajte Centrifugo

Konfigurirati Centrifugo, prilično je jednostavno. Prvo morate generirati konfiguracijsku datoteku, ali umjesto toga, stvorimo direktorij za čuvanje konfiguracijskih datoteka.

sudo mkdir -p /etc/centrifugo && cd /etc/centrifugo

Zatim možete generirati konfiguracijsku datoteku upisivanjem.

sudo centrifugo genconfig

Nakon unosa ove naredbe, ona će generirati datoteku config.json u direktoriju koji ste naveli.

Datoteku možete provjeriti upisivanjem sljedeće CAT naredbe.

cat config.json

Trebali biste dobiti sljedeći output:

:/etc/centrifugo$ cat config.json
 {
   "v3_use_offset": true,
   "token_hmac_secret_key": "4bfd92e6-9526-474a-877b-0730c55f37ea",
   "admin_password": "1fe1f1f3-df96-4bfe-b383-bfe7a8408660",
   "admin_secret": "5ce4d2cd-2db9-4ad9-a6c6-6c6dfe1160a6",
   "api_key": "fcb8ff4f-64be-4918-bb57-711fdfc852cb",
   "allowed_origins": []
 }

Zabilježite svoje “administratorska lozinka“, jer će vam trebati za prijavu na web korisničko sučelje. Preporuča se spremanje cijelog.

Napravite Systemd servisnu datoteku za Centrifugo

Posljednji dio postavljanja Centrifuga je stvaranje Systemd servisne datoteke. Za to ćemo koristiti nano uređivač teksta.

sudo nano /etc/systemd/system/centrifugo.service

Nakon što otvorite nano editor i datoteku, unesite sljedeći unos u datoteku.

[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

Pritisnite CTRL+O, zatim unesite "Y", što će spremiti unos podataka u datoteku, a zatim pritisnite CTRL+X za izlaz iz datoteke.

Sada ćete morati ponovno učitati demon, što se radi sljedećom naredbom.

sudo systemctl daemon-reload

Zatim pokrenite proces sustava i dok ste već, omogućite uslugu pri pokretanju ako želite.

sudo systemctl start centrifugo && sudo systemctl enable centrifugo

Nakon što je usluga pokrenuta, provjerite da li sve radi dobro.

systemctl status centrifugo

Trebali biste vidjeti sljedeći izlaz:

● centrifugo.service - Centrifugo Websocket Server
      Loaded: loaded (/etc/systemd/system/centrifugo.service; disabled; vendor preset: enabled)
      Active: active (running) since Wed 2021-06-23 00:47:38 PDT; 4s ago
     Process: 20356 ExecStartPre=/usr/bin/centrifugo checkconfig --config /etc/centrifugo/config.json (code=exited, status=0/SUCCESS)
    Main PID: 20361 (centrifugo)
       Tasks: 7 (limit: 4617)
      Memory: 8.0M
      CGroup: /system.slice/centrifugo.service
              └─20361 /usr/bin/centrifugo --config /etc/centrifugo/config.json --admin
 Jun 23 00:47:38 ubuntu systemd[1]: Starting Centrifugo Websocket Server…
 Jun 23 00:47:38 ubuntu systemd[1]: Started Centrifugo Websocket Server.
 Jun 23 00:47:38 ubuntu centrifugo[20361]: {"level":"info","version":"2.8.5","runtime":"go1.16.4","pid":20361,"engine":"Memory","gomaxprocs":2,"time":"2021-06-23T00:47:38-07:>
 Jun 23 00:47:38 ubuntu centrifugo[20361]: {"level":"info","path":"/etc/centrifugo/config.json","time":"2021-06-23T00:47:38-07:00","message":"using config file"}
 Jun 23 00:47:38 ubuntu centrifugo[20361]: {"level":"info","time":"2021-06-23T00:47:38-07:00","message":"serving websocket, SockJS, API, admin endpoints on :8000"}
 ~

Servis Centrifugo prema zadanim postavkama sluša port 8000.


Oglas


Pokrenite Centrifugo s administratorskom pločom

Sada se možete prijaviti na svoju web UI ploču. To se može učiniti otvaranjem sljedećeg u vašem pregledniku. Zapamtite, potrebna vam je lozinka iz konfiguracijske datoteke kao što je ranije spomenuto u vodiču.

http://IP-ADDRESS:8000
 or
 http://example.com:8000
Prijava Centrifugo

Nakon što se prijavite, vidjet ćete opće informacije o usluzi Centrifugo u korisničkom sučelju.

Centrifugo web korisničko sučelje

Komentari i zaključak

U vodiču ste naučili kako instalirati i postaviti Centrifugo. Sama aplikacija je izuzetna za rad na svakoj vrsti back-end sustava gdje možete imati nekoliko različitih sustava u proizvodnim okruženjima. Sam softver je dobro razvijen i za besplatan chat chat.

Informacije o postavljanju i integraciji klijenta mogu se pronaći u Centrifugu dokumentacija.

Pretplati me
Obavijesti o
0 Komentari
Umetne povratne informacije
Pogledajte sve komentare
0
Volio bih vaše misli, molim vas komentirajte.x