Cómo instalar Centrifugo en Ubuntu 20.04 LTS

En este tutorial, le mostraremos cómo instalar Centrifugo en Ubuntu 20.04 LTS. Para aquellos de ustedes que no lo sabían, Centrifugo es un servidor de mensajería en tiempo real escalable que no depende del idioma. Se puede usar como una alternativa gratuita a los servicios de pusher.com. Centrifugo es compatible con WebSocket y SockJS. Conexiones Websocket o SockJS desde clientes de aplicaciones (desde navegadores web u otros entornos como aplicaciones iOS/Android). Cuando necesita entregar un evento a sus clientes en tiempo real, lo publica en la API de Centrifugo y Centrifugo luego transmite el evento a todos los clientes conectados interesados ​​en este evento (es decir, clientes suscritos al canal de eventos). En otras palabras, este es un servidor PUB/SUB orientado al usuario.

Este artículo asume que tiene al menos un conocimiento básico de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y se supone que está ejecutando en la cuenta raíz, si no, es posible que deba agregar ‘ sudo ‘ a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso de Centrifugo en un servidor Ubuntu 20.04 (Focal Fossa). Puede seguir las mismas instrucciones para Ubuntu 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.

Instale Centrifuge en Ubuntu 20.04 LTS Focal Pit

Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando lo siguiente apt Comandos en la terminal.

                      sudo apt update
sudo apt upgrade
                    

Paso 2. Instalación de Centrifugo en Ubuntu 20.04.

Ahora descargamos la última versión de los paquetes de Centrifugo desde Github:

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

Confirme la instalación exitosa comprobando la versión del software:

                      centrifugo version
                    

A continuación, editamos la configuración de Centrifugo:

                      .
                      
                        /
                      
                      centrifugo genconfig
                    

Agregue la siguiente línea:

                      
                        {
                      
                      
                        "v3_use_offset"
                      
                      : 
                      
                        true
                      
                      , 
                      
                        "token_hmac_secret_key"
                      
                      : 
                      
                        "145191ff-272a-421b-95af-b006c554813e"
                      
                      , 
                      
                        "admin_password"
                      
                      : 
                      
                        "0e539f48-godet-4c3f-afcd-62d0f5cbf9f2"
                      
                      , 
                      
                        "admin_secret"
                      
                      : 
                      
                        "b1bb30a7-mei-4dc0-9a88-2b27d8d25abf"
                      
                      , 
                      
                        "api_key"
                      
                      : 
                      
                        "e005dbe1-d5d2-464b-a406-e1cc617ea8d0"
                      
                      
                        }
                      
                    

Ahora ejecute Centrifugo con admin panel habilitado:

                      ./centrifugo --config config.json --admin
                    

Acceso a la interfaz web de Centrifugal admin consola:

                      https://your-server-ip-address:8000
                    

Paso 3. Cree la unidad de servicio de Systemd.

Ahora creamos el systemd servicio ya que será fácil ejecutar el servicio al iniciar, iniciar y detener el servicio también:

                      nano /lib/systemd/system/centrifugo.service
                    

Agregue la siguiente línea:

                      
                        [
                      
                      Unit
                      
                        ]
                      
                      
                        Description
                      
                      =Centrifugo Websocket Server
                      
                        After
                      
                      =network.target syslog.target
 
                      
                        [
                      
                      Service
                      
                        ]
                      
                      
                        User
                      
                      =
                      
                        [
                      
                      USERNAME
                      
                        ]
                      
                      
                        Group
                      
                      =
                      
                        [
                      
                      USERNAME
                      
                        ]
                      
                      
                        LimitNOFILE
                      
                      =
                      
                        30000
                      
                      
 
                      
                        Environment
                      
                      =
                      
                        "CONFIG=/home/[USERNAME]/config.json"
                      
                      
                        ExecStartPre
                      
                      =
                      
                        /
                      
                      home
                      
                        /
                      
                      
                        [
                      
                      USERNAME
                      
                        ]
                      
                      
                        /
                      
                      centrifugo checkconfig 
                      
                        --config
                      
                      
                        $CONFIG
                      
                      
                        ExecStart
                      
                      =
                      
                        /
                      
                      home
                      
                        /
                      
                      
                        [
                      
                      USERNAME
                      
                        ]
                      
                      
                        /
                      
                      centrifugo 
                      
                        --config
                      
                      
                        $CONFIG
                      
                      
                        --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
                    

Guardar y closetambién recargar systemd servicios:

                      sudo systemctl daemon-reload
sudo systemctl start centrifugo
sudo systemctl enable centrifugo
                    

¡Felicidades! Ha instalado Centrifugo con éxito. Gracias por usar este tutorial para instalar Centrifugo en el sistema Ubuntu 20.04 LTS Focal Fossa. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de Centrifugo .

Related Posts