Redis est un magasin de structure de données en mémoire open source (sous licence BSD). Il peut être utilisé comme base de données , cache et courtier de messages. Il prend en charge différents types de structures de données abstraites telles que les chaînes, les hachages, les listes, les ensembles, les ensembles triés, les hyperlogs, les bitmaps, les flux et les index spatiaux.
Cet article vous explique comment installer Redis sur CentOS 7 / RHEL 7 &Ubuntu 18.04 / Ubuntu 16.04 . Vous aider également à configurer la réplication maître/esclave sur Redis.
Installer Redis sur CentOS 7 / RHEL 7 et Ubuntu 18.04/ Ubuntu 16.04
Package Redis disponible dans le dépôt EPEL pour CentOS / RHEL et le référentiel OS sur Ubuntu est un peu vieux. Nous allons donc installer la dernière version de Redis (v5.0.2) à partir du dépôt Remi et chris lea PPA sur CentOS / RHEL et Ubuntu respectivement.
Configurer le référentiel
Commencez à ajouter des référentiels en fonction des systèmes d'exploitation que vous utilisez.
### CentOS 7 / RHEL 7 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm # for RHEL only subscription-manager repos --enable=rhel-7-server-optional-rpms ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo add-apt-repository ppa:chris-lea/redis-server sudo apt update
Installer Redis
Installez le package Redis en tapant la commande suivante dans le terminal.
### CentOS 7 / RHEL 7 ### yum install -y redis --enablerepo=remi ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo apt install -y redis-server
Maintenant, démarrez le serveur Redis et activez-le pour qu'il démarre automatiquement au démarrage du système.
### CentOS 7 / RHEL 7 ### systemctl start redis systemctl enable redis ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo systemctl start redis-server sudo systemctl enable redis-server
Entrez la commande ci-dessous pour vérifier l'état du service Redis.
### CentOS 7 / RHEL 7 ### systemctl status redis ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo systemctl status redis-server
Vous devriez voir quelque chose comme ci-dessous.
● 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 Wed 2018-11-28 06:57:30 UTC; 14s ago Main PID: 1898 (redis-server) CGroup: /system.slice/redis.service └─1898 /usr/bin/redis-server 127.0.0.1:6379 Nov 28 06:57:30 redisc7 systemd[1]: Starting Redis persistent key-value database... Nov 28 06:57:30 redisc7 systemd[1]: Started Redis persistent key-value database.
Vérifier l'installation de Redis
Vérifiez que Redis est en cours d'exécution avec redis-cli
(interface de ligne de commande de Redis).
redis-cli ping
Si Redis est en cours d'exécution, il renverra un PONG.
PONG
Vous avez maintenant Redis en cours d'exécution sur votre serveur.
Configurer l'accès à distance Redis (facultatif)
Par défaut, Redis n'autorise pas les connexions à distance. Vous pouvez vous connecter à Redis uniquement à partir de 127.0.0.1 (localhost) - la machine sur laquelle Redis est en cours d'exécution.
Effectuez les étapes ci-dessous uniquement si vous souhaitez vous connecter à votre serveur Redis à partir d'hôtes distants.
Modifiez le fichier de configuration Redis.
### CentOS 7 / RHEL 7 ### vi /etc/redis.conf ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo nano /etc/redis/redis.conf
Trouvez la ligne qui commence par bind 127.0.0.1
et ajoutez l'adresse IP de votre serveur après 127.0.0.1. Ensuite, enregistrez et fermez le fichier.
bind 127.0.0.1 192.168.1.10
Assurez-vous de remplacer 192.168.1.10 par votre adresse IP.
Redémarrez le serveur Redis pour que les modifications prennent effet.
### CentOS 7 / RHEL 7 ### systemctl restart redis ### Ubuntu 18.04 / Ubuntu 16.04 ### systemctl restart redis-server
Utilisez le netstat
suivant commande pour vérifier que le serveur Redis écoute sur votre interface serveur sur le port 6379.
netstat -antup | grep -i 6379
Vous devriez voir quelque chose comme ci-dessous.
tcp 0 0 10.142.0.10:6379 0.0.0.0:* LISTEN 2081/redis-server 1
LIRE :Commande netstat introuvable sur CentOS 7 / RHEL 7 – Solution rapide
LIRE :Commande netstat introuvable sur Debian / Ubuntu / Linux Mint – Correction rapide
Pare-feu (CentOS / RHEL)
Vous devrez ajouter une règle de pare-feu qui autorise le trafic des machines distantes vers le serveur Redis sur le port TCP 6379 au cas où vous auriez activé l'accès à distance.
Exécutez les commandes suivantes dans le terminal
firewall-cmd --permanent --add-port=6379/tcp firewall-cmd --reload
Vérifier l'accès à distance
Pour vérifier que l'accès à distance est correctement configuré, vous pouvez essayer de faire un ping sur le serveur Redis à partir de votre machine distante en utilisant le redis-cli
(interface de ligne de commande).
redis-cli -h <REDIS_IP_ADDRESS> ping
La commande doit renvoyer un PONG.
PONG
Configurer la réplication maître/esclave Redis
Sur le nœud maître
Étape 1 : Installer Redis
Étape 2 :Configurer l'accès à distance
Sur le nœud esclave
Étape 1 : Installer Redis
Configurer l'esclave
Configurez une instance esclave en ajoutant le replicaof
directive dans redis.conf
pour configurer la réplication.
### CentOS 7 / RHEL 7 ### vi /etc/redis.conf ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo nano /etc/redis/redis.conf
Remplacez à nouveau 192.168.1.10 par l'adresse IP du nœud maître.
replicaof 192.168.1.10 6379
Redémarrez le service.
### CentOS 7 / RHEL 7 ### systemctl restart redis ### Ubuntu 18.04 / Ubuntu 16.04 ### systemctl restart redis-server
Vérifier la réplication maître/esclave Reds
Testez que la réplication fonctionne. Sur votre nœud maître, exécutez redis-cli et exécutez la commande set 'name' Raj
.
redis-cli 127.0.0.1:6379> set 'name' Raj
Sortie :
OK
Quittez l'invite redis-cli en tapant exit ou en appuyant sur Ctrl-C.
Ensuite, exécutez redis-cli sur le nœud esclave et exécutez get 'name'
, qui doit renvoyer la même valeur que celle du maître.
redis-cli 127.0.0.1:6379> get 'name'
Sortie :
"Raj"
Cette sortie confirme que la configuration de la réplication maître/esclave fonctionne correctement.
Pour en savoir plus sur l'utilisation de Redis, consultez la documentation officielle de Redis. page.
C'est tout.