Come installare Centrifugo Messaging Server su Ubuntu 20.04
Su questa pagina
- Prerequisiti
- Per iniziare
- Installa Centrifugo
- Configura Centrifugo
- Crea un file di servizio Systemd per Centrifugo
- Accedi all'interfaccia utente Web di Centrifugo
- Conclusione
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ò integrare facilmente 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.
Iniziare
Prima di iniziare, dovrai aggiornare i tuoi pacchetti di sistema all'ultima versione. Puoi aggiornarli usando il seguente comando:
apt-get update -y
Una volta aggiornato il 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
Successivamente, 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, sarà necessario 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: annotare admin_password dall'output precedente. Ne avrai bisogno per accedere all'interfaccia web.
Successivamente, crea una directory per Centrifugo con il seguente comando:
mkdir /etc/centrifugo
Successivamente, 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 di servizio Systemd per Centrifugo
Successivamente, dovrai 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
Successivamente, avvia il servizio Centrifugo e abilitalo per l'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 ubunt4 systemd[1]: Starting Centrifugo Websocket Server... May 22 10:01:52 ubunt4 systemd[1]: Started Centrifugo Websocket Server. May 22 10:01:52 ubunt4 centrifugo[3040]: {"level":"info","version":"2.8.4","runtime":"go1.16.3","pid":3040,"engine":"Memory","gomaxprocs":> May 22 10:01:52 ubunt4 centrifugo[3040]: {"level":"info","path":"/etc/centrifugo/config.json","time":"2021-05-22T10:01:52Z","message":"usi> May 22 10:01:52 ubunt4 centrifugo[3040]: {"level":"info","time":"2021-05-22T10:01:52Z","message":"serving websocket, SockJS, API, admin en>
A questo punto il servizio Centrifugo è avviato e 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 <->
Accedere 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 login di Centrifugo:
Fornisci la tua password di amministratore e fai clic sul pulsante ACCEDI. Dovresti vedere la dashboard di Centrifugo nella pagina seguente:
Conclusione
Congratulazioni! hai installato con successo il server Centrifugo sul server Ubuntu 20.04. Per ulteriori informazioni, consultare la documentazione di Centrifugo.