Redis est un magasin de données clé-valeur 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 explique comment installer et configurer Redis sur un serveur Debian 9.
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 Debian #
Le package Redis est inclus dans les référentiels Debian 9 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 :
sudo apt update
-
Installez Redis en tapant :
sudo apt install redis-server
-
Lorsque l'installation est terminée, le service Redis démarre automatiquement. Vous pouvez vérifier l'état du service en tapant :
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 Wed 2018-12-05 08:54:49 PST; 4min 52s ago Docs: http://redis.io/documentation, man:redis-server(1) Main PID: 1569 (redis-server) CGroup: /system.slice/redis-server.service └─1569 /usr/bin/redis-server 127.0.0.1:6379
À ce stade, Redis est installé et en cours d'exécution sur votre serveur Debian 9 et vous pouvez commencer à l'utiliser.
Configurer l'accès à distance Redis #
Par défaut, Redis n'est pas accessible depuis un emplacement distant. 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 vim /etc/redis/redis.conf
Recherchez une ligne commençant par bind 127.0.0.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
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 :
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
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