Centrifugio est un serveur de messagerie gratuit, open-source et en temps réel. Il prend en charge WebSocket et SockJS pour établir une connexion à partir des clients de l'application via le navigateur Web. Il est rapide et capable de gérer des millions de connexions simultanées. Il peut facilement intégrer votre application existante. Il est indépendant du langage et son API peut être utilisée à partir de n'importe quel langage de programmation.
Dans ce guide, nous allons vous montrer comment installer Centrifugo sur le serveur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un mot de passe root est configuré sur le serveur.
Mise en route
Avant de commencer, vous devrez mettre à jour vos packages système vers la dernière version. Vous pouvez les mettre à jour à l'aide de la commande suivante :
apt-get update -y
Une fois votre serveur mis à jour, vous pouvez passer à l'étape suivante.
Installer Centrifugo
Par défaut, le package Centrifugo n'est pas inclus dans le référentiel par défaut d'Ubuntu 20.04. Vous devrez donc télécharger son binaire depuis le dépôt Git.
Vous pouvez télécharger la dernière version de Centrifugo avec la commande suivante :
wget https://github.com/centrifugal/centrifugo/releases/download/v2.8.4/centrifugo_2.8.4_linux_amd64.tar.gz
Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :
tar -xvzf centrifugo_2.8.4_linux_amd64.tar.gz
Ensuite, déplacez le binaire Centrifugo vers le répertoire /usr/bin :
mv centrifugeuse /usr/bin
Maintenant, vérifiez la version de Centrifugo à l'aide de la commande suivante :
version centrifugeuse
Vous devriez voir le résultat suivant :
Centrifugo v2.8.4 (Version Go :go1.16.3)
Configurer Centrifugo
Ensuite, vous devrez générer le fichier de configuration Centrifugo. Vous pouvez le générer avec la commande suivante :
genconfig centrifugeuse
Cette commande générera un fichier config.json dans votre répertoire de travail actuel. Vous pouvez le vérifier avec la commande suivante :
cat config.json
Vous devriez obtenir le résultat suivant :
{ "v3_use_offset":vrai, "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":[]}
Remarque :notez le admin_password de la sortie ci-dessus. Vous en aurez besoin pour vous connecter à l'interface Web.
Ensuite, créez un répertoire pour Centrifugo avec la commande suivante :
mkdir /etc/centrifugo
Ensuite, copiez le fichier config.json dans le répertoire /etc/centrifugo :
mv config.json /etc/centrifugo/config.json
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Créer un fichier de service Systemd pour Centrifugo
Ensuite, vous devrez créer un fichier de service systemd pour gérer le service Centrifugio. Vous pouvez le créer avec la commande suivante :
nano /etc/systemd/system/centrifugo.service
Ajoutez les lignes suivantes :
[Unit]Description=Centrifugo Websocket ServerAfter=network.target syslog.target [Service]LimitNOFILE=30000ExecStartPre=/usr/bin/centrifugo checkconfig --config /etc/centrifugo/config.jsonExecStart=/usr/bin/centrifugo --config /etc/centrifugo/config.json --adminExecReload=/bin/kill -HUP $MAINPIDExecStop=/bin/kill -SIGTERM $MAINPIDTimeoutStopSec=5KillMode=control-groupRestartSec=2Restart=alwaysSyslogIdentifier=centrifugo[Install]WantedBy=multi -user.targetAlias=centrifugo.service
Enregistrez et fermez le fichier puis rechargez le démon systemd pour appliquer les modifications :
rechargement du démon systemctl
Ensuite, démarrez le service Centrifugo et activez-le pour qu'il démarre au redémarrage du système :
systemctl start centrifugo
systemctl enable centrifugo
Vous pouvez vérifier l'état du service Centrifuge avec la commande suivante :
centrifugeuse d'état systemctl
Vous devriez voir le résultat suivant :
? centrifugo.service - Serveur Websocket Centrifugo chargé :chargé (/etc/systemd/system/centrifugo.service ; désactivé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis le samedi 2021-05-22 10:01:52 UTC ; Il y a 4 s Processus :3024 ExecStartPre=/usr/bin/centrifugo checkconfig --config /etc/centrifugo/config.json (code=exited, status=0/SUCCESS) PID principal :3040 (centrifugo) Tâches :6 (limite :2353 ) Mémoire :7,8 Mo CGroup :/system.slice/centrifugo.service ??3040 /usr/bin/centrifugo --config /etc/centrifugo/config.json --adminMay 22 10:01:51 ubuntu2004 systemd[1] :Démarrage du serveur Centrifugo Websocket... 22 mai 10:01:52 ubuntu2004 systemd[1] :Démarrage du serveur Centrifugo Websocket. 22 mai 10:01:52 ubuntu2004 centrifugo[3040] :{"level":"info","version" :"2.8.4","runtime":"go1.16.3","pid":3040,"engine":"Mémoire","gomaxprocs":>22 mai 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":"service websocket, SockJS, API, admin fr>À ce stade, le service Centrifugo est démarré et écoute sur le port 8000. Vous pouvez le vérifier avec la commande suivante :
ss -tunelp | grep 8000Vous devriez obtenir le résultat suivant :
tcp LISTEN 0 4096 *:8000 *:* utilisateurs :(("centrifugo",pid=3040,fd=3)) ino:26878 sk:c v6only:0 <->Accéder à l'interface Web de Centrifugo
Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web Centrifugo en utilisant l'URL http://your-server-ip:8000 . Vous serez redirigé vers la page de connexion de Centrifugo :
Fournissez votre mot de passe administrateur et cliquez sur CONNEXION bouton. Vous devriez voir le tableau de bord Centrifugo sur la page suivante :
Conclusion
Toutes nos félicitations! vous avez installé avec succès le serveur Centrifugo sur le serveur Ubuntu 20.04. Pour plus d'informations, vous devriez lire la documentation Centrifugo.