Centrifugo è un server di messaggistica gratuito, open source e in tempo reale. Supporta WebSocket e SockJS per stabilire una connessione dai client dell'applicazione tramite il browser web. È veloce e in grado di gestire milioni di connessioni simultanee. Può facilmente integrare la tua applicazione esistente. È indipendente dal linguaggio e la sua API può essere utilizzata da qualsiasi linguaggio di programmazione.
In questa guida ti mostreremo come installare Centrifugo sul server Ubuntu 20.04.
Prerequisiti
- Un server che esegue Ubuntu 20.04.
- Sul server è configurata una password di root.
Per iniziare
Prima di iniziare, dovrai aggiornare i pacchetti di sistema all'ultima versione. Puoi aggiornarli usando il seguente comando:
apt-get update -y
Una volta aggiornato il tuo server, puoi procedere al passaggio successivo.
Installa Centrifugo
Per impostazione predefinita, il pacchetto Centrifugo non è incluso nel repository predefinito di Ubuntu 20.04. Quindi dovrai scaricare il suo binario dal repository Git.
Puoi scaricare l'ultima versione di Centrifugo con il seguente comando:
wget https://github.com/centrifugal/centrifugo/releases/download/v2.8.4/centrifugo_2.8.4_linux_amd64.tar.gz
Una volta completato il download, estrai il file scaricato con il seguente comando:
tar -xvzf centrifugo_2.8.4_linux_amd64.tar.gz
Quindi, sposta il file binario di Centrifugo nella directory /usr/bin:
mv centrifugo /usr/bin
Ora verifica la versione di Centrifugo usando il seguente comando:
centrifugo version
Dovresti vedere il seguente output:
Centrifugo v2.8.4 (Go version: go1.16.3)
Configura Centrifugo
Successivamente, dovrai generare il file di configurazione di Centrifugo. Puoi generarlo con il seguente comando:
centrifugo genconfig
Questo comando genererà un file config.json nella directory di lavoro corrente. Puoi verificarlo con il seguente comando:
cat config.json
Dovresti ottenere il seguente output:
{ "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": [] }
Nota :Annota admin_password dall'output sopra. Ti servirà per accedere all'interfaccia web.
Quindi, crea una directory per Centrifugo con il seguente comando:
mkdir /etc/centrifugo
Quindi, copia il file config.json nella directory /etc/centrifugo:
mv config.json /etc/centrifugo/config.json
Una volta terminato, puoi procedere al passaggio successivo.
Crea un file Systemd Service per Centrifugo
Successivamente, sarà necessario creare un file di servizio systemd per gestire il servizio Centrifugo. Puoi crearlo con il seguente comando:
nano /etc/systemd/system/centrifugo.service
Aggiungi le seguenti righe:
[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
Salva e chiudi il file, quindi ricarica il demone systemd per applicare le modifiche:
systemctl daemon-reload
Quindi, avvia il servizio Centrifugo e abilitalo all'avvio al riavvio del sistema:
systemctl start centrifugo
systemctl enable centrifugo
Puoi controllare lo stato del servizio Centrifugo con il seguente comando:
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 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>
A questo punto il servizio Centrifugo è avviato ed è in ascolto sulla porta 8000. Puoi verificarlo con il seguente comando:
ss -tunelp | grep 8000
Dovresti ottenere il seguente output:
tcp LISTEN 0 4096 *:8000 *:* users:(("centrifugo",pid=3040,fd=3)) ino:26878 sk:c v6only:0 <->
Accedi all'interfaccia utente Web di Centrifugo
Ora apri il tuo browser web e accedi all'interfaccia web di Centrifugo utilizzando l'URL http://your-server-ip:8000 . Verrai reindirizzato alla pagina di accesso di Centrifugo:
Fornisci la tua password di amministratore e fai clic su ACCEDI pulsante. Dovresti vedere la dashboard di Centrifugo nella pagina seguente:
Conclusione
Congratulazioni! hai installato correttamente il server Centrifugo sul server Ubuntu 20.04. Per ulteriori informazioni, leggere la documentazione di Centrifugo.