Redis est un magasin de structure de données en mémoire open source. Il peut être utilisé comme base de données, cache et courtier de messages et prend en charge diverses structures de données telles que les chaînes, les hachages, les listes, les ensembles, etc. Redis offre une haute disponibilité via Redis Sentinel, y compris la surveillance, les notifications et le basculement automatique. Il fournit également un partitionnement automatique sur plusieurs nœuds Redis avec Redis Cluster.
Ce tutoriel décrit comment installer et configurer Redis sur un serveur Ubuntu 18.04. Les mêmes instructions s'appliquent à Ubuntu 16.04 et à toute distribution basée sur Ubuntu.
Prérequis #
Avant de commencer le didacticiel, assurez-vous que vous êtes connecté en tant qu'utilisateur avec des privilèges sudo.
Installer Redis sur Ubuntu #
Le package Redis est inclus dans les référentiels Ubuntu 18.04 par défaut. L'installation est assez simple, suivez simplement les étapes ci-dessous :
-
Commencez par mettre à jour la liste des packages apt en exécutant la commande suivante dans votre terminal SSH :
sudo apt update
-
Installez Redis en tapant :
sudo apt install redis-server
-
Une fois l'installation terminée, le service Redis démarrera automatiquement. Pour vérifier l'état du service, saisissez la commande suivante :
sudo systemctl status redis-server
Vous devriez voir quelque chose comme ceci :
● redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2018-10-28 05:10:45 PDT; 2h ago Docs: http://redis.io/documentation, man:redis-server(1) Process: 2197 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS) Process: 2201 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS) Main PID: 2226 (redis-server) Tasks: 4 (limit: 2319) CGroup: /system.slice/redis-server.service `-2226 /usr/bin/redis-server 0.0.0.0:6379
Félicitations, à ce stade, Redis est installé et fonctionne sur votre serveur Ubuntu 18.04.
Configurer l'accès à distance Redis #
Par défaut, Redis n'autorise pas les connexions à distance. Vous pouvez vous connecter au serveur Redis uniquement à partir de 127.0.0.1 (localhost) - la machine sur laquelle Redis est en cours d'exécution.
Effectuez les étapes suivantes uniquement si vous souhaitez vous connecter à votre serveur Redis à partir d'hôtes distants. Si vous utilisez une configuration de serveur unique, où l'application et Redis s'exécutent sur la même machine, vous ne devez pas activer l'accès à distance.
Pour configurer Redis afin qu'il accepte les connexions à distance, ouvrez le fichier de configuration Redis avec votre éditeur de texte :
sudo nano /etc/redis/redis.conf
Localisez la ligne qui commence par bind 127.0.0.1 ::1
et remplacez 127.0.0.1
avec 0.0.0.0
.
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 0.0.0.0 ::1
Enregistrez le fichier et fermez l'éditeur.
Redémarrez le service Redis pour que les modifications prennent effet :
sudo systemctl restart redis-server
Utilisez la commande suivante pour vérifier que redis écoute toutes les interfaces sur le port 6379
:
ss -an | grep 6379
Vous devriez voir quelque chose comme ci-dessous. 0.0.0.0
signifie toutes les adresses IPv4 sur la machine.
tcp LISTEN 0 128 0.0.0.0:6379 0.0.0.0:*
tcp LISTEN 0 128 [::]:6379 [::]:*
Ensuite, vous devrez ajouter une règle de pare-feu qui autorise le trafic de vos machines distantes sur le port TCP 6379
.
En supposant que vous utilisez UFW
pour gérer votre pare-feu et vous souhaitez autoriser l'accès depuis le 192.168.121.0/24
sous-réseau, vous exécuterez la commande suivante :
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379
À ce stade, le serveur Redis acceptera les connexions à distance sur le port TCP 6379.
Assurez-vous que votre pare-feu est configuré pour accepter uniquement les connexions provenant de plages d'adresses IP approuvées.
Pour vérifier que tout est correctement configuré, vous pouvez essayer de faire un ping sur le serveur Redis depuis votre machine distante en utilisant le redis-cli
utilitaire :
redis-cli -h <REDIS_IP_ADDRESS> ping
La commande doit renvoyer une réponse de PONG
:
PONG