Come installare il server di messaggistica Centrifugo su Ubuntu 20.04

centrifugo è un server di messaggistica in tempo reale scalabile. Centrifugo funziona in combinazione con il backend dell'applicazione scritto in qualsiasi linguaggio di programmazione. Funziona come un servizio separato e mantiene connessioni Websocket o SockJS persistenti dai client dell'applicazione. Quando devi consegnare un evento ai tuoi clienti in tempo reale, lo pubblichi su Centrifugo API. Centrifugo trasmette quindi l'evento a tutti i client collegati interessati a questo evento (es. client iscritti al canale dell'evento).

In questa guida imparerai come installare Centrifugo sul server Ubuntu 20.04.

Prerequisiti

  • Accesso root o privilegi sudo.
  • Ubuntu 20.04 LTS. (21.04 funziona con questa guida)
  • Comando WGET
sudo apt update && sudo apt upgrade -y \
sudo apt install wget

pubblicità


Scarica Centrifugo

I repository Ubuntu non includono Centrifugo, quindi dovrai scaricare il sorgente dal suo repository GIT. Si consiglia di controllare la pagina delle Release poiché l'esempio di guida di seguito riportato nella versione di Centrifugo potrebbe essere obsoleto. Dopo aver visitato il Pagina di rilascio e ottenuto il collegamento più recente, digitare quanto segue.

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

Una volta completato il download, estrai il file scaricato digitando il seguente comando.

tar -xvzf centrifugo_2.8.5_linux_amd64.tar.gz

Installa Centrifugo

Ora, dovrai spostare il binario di Centrifugo nella directory /usr/bin:

sudo mv centrifugo /usr/bin

Infine, dovresti verificare la versione per assicurarti che sia installata e che tutto funzioni correttamente finora.

centrifugo version

Esempio di output:

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

pubblicità


Configura Centrifugo

Configurare Centrifugo è piuttosto semplice. Per prima cosa, devi generare il file di configurazione, ma piuttosto, creiamo una directory per conservare i file di configurazione.

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

Quindi puoi generare il file di configurazione digitando.

sudo centrifugo genconfig

Dopo aver inserito questo comando, genererà un file config.json nella directory che hai specificato.

Puoi verificare il file digitando il seguente comando CAT.

cat config.json

Dovresti ottenere il seguente risultato:

:/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": []
 }

Prendi nota del tuo "password dell'amministratore“, poiché ti servirà per accedere all'interfaccia utente web. Si consiglia di salvare l'intero.

Crea file di servizio Systemd per Centrifugo

L'ultima parte della configurazione di Centrifugo è la creazione di un file di servizio Systemd. Useremo un editor di testo nano per questo.

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

Dopo aver aperto l'editor nano e il file, digita il seguente input nel file.

[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

Premere CTRL+O, quindi immettere "Y", che salverà i dati inseriti nel file, quindi premere CTRL+X per uscire dal file.

Ora dovrai ricaricare il demone, cosa che viene eseguita con il seguente comando.

sudo systemctl daemon-reload

Quindi, avvia il processo di sistema e già che ci sei, abilita il servizio all'avvio se preferisci.

sudo systemctl start centrifugo && sudo systemctl enable centrifugo

Una volta avviato il servizio, controlla il servizio per assicurarti che tutto funzioni correttamente.

systemctl status centrifugo

Dovresti vedere il seguente output:

● 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"}
 ~

Per impostazione predefinita, il servizio Centrifugo è in ascolto sulla porta 8000.


pubblicità


Esegui Centrifugo con il pannello di amministrazione

Ora puoi accedere al pannello dell'interfaccia utente web. Questo può essere fatto aprendo quanto segue nel tuo browser. Ricorda, hai bisogno della password dal file di configurazione come menzionato in precedenza nella guida.

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

Dopo aver effettuato il login, vedrai le informazioni generali sul servizio Centrifugo nell'interfaccia utente.

Interfaccia web di Centrifugo

Commenti e Conclusione

Nella guida hai appreso come installare e configurare Centrifugo. L'applicazione stessa è eccezionale per lavorare su ogni tipo di sistema di back-end in cui potresti avere diversi sistemi in ambienti di produzione. Il software stesso è ben sviluppato e per una chat di messaggistica istantanea gratuita.

Le informazioni sulla configurazione e l'integrazione del client sono disponibili in Centrifugo documentazione.

Lascia un tuo commento