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 explique comment installer et configurer Redis sur un serveur CentOS 7.
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 CentOS 7 #
Le package Redis n'est pas inclus dans les référentiels CentOS par défaut. Nous allons installer Redis version 5.0.2 à partir du référentiel Remi.
L'installation est assez simple, suivez simplement les étapes ci-dessous :
-
Commencez par activer le dépôt Remi en exécutant les commandes suivantes dans votre terminal SSH :
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi
-
Installez le package Redis en tapant :
sudo yum install redis
-
Une fois l'installation terminée, démarrez le service Redis et activez-le pour qu'il démarre automatiquement au démarrage avec :
sudo systemctl start redis
sudo systemctl enable redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
Pour vérifier l'état du service, entrez la commande suivante :
sudo systemctl status redis
Vous devriez voir quelque chose comme ceci :
● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d └─limit.conf Active: active (running) since Sat 2018-11-24 15:21:55 PST; 40s ago Main PID: 2157 (redis-server) CGroup: /system.slice/redis.service └─2157 /usr/bin/redis-server 127.0.0.1:6379
Félicitations, à ce stade, Redis est installé et fonctionne sur votre serveur CentOS 7.
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.conf
Localisez la ligne qui commence par bind 127.0.0.1
et ajoutez l'adresse IP privée de votre serveur après 127.0.0.1
.
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 127.0.0.1 192.168.121.233
Assurez-vous de remplacer 192.168.121.233
avec votre adresse IP. Enregistrez le fichier et fermez l'éditeur.
Redémarrez le service Redis pour que les modifications prennent effet :
sudo systemctl restart redis
Utilisez le ss
suivant commande pour vérifier que le serveur Redis écoute sur votre interface privée sur le port 6379
:
ss -an | grep 6379
Vous devriez voir quelque chose comme ci-dessous :
tcp LISTEN 0 128 192.168.121.233:6379 *:*
tcp LISTEN 0 128 127.0.0.1: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 FirewallD
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écuteriez les commandes suivantes :
sudo firewall-cmd --new-zone=redis --permanent
sudo firewall-cmd --zone=redis --add-port=6379/tcp --permanent
sudo firewall-cmd --zone=redis --add-source=192.168.121.0/24 --permanent
sudo firewall-cmd --reload
Les commandes ci-dessus créent une nouvelle zone nommée redis
, ouvre le port 6379
et autorise l'accès depuis le réseau privé.
À 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 qui fournit une interface de ligne de commande à un serveur Redis :
redis-cli -h <REDIS_IP_ADDRESS> ping
La commande doit renvoyer une réponse de PONG
:
PONG