Compilation et déploiement de Redis à partir des sources sur CentOS 7

L'installation de Redis à partir du code source sur un système CentOS 7 permet d'obtenir la version la plus récente tout en optimisant les options de compilation pour l'architecture cible. Ce guide détaille les étapes pour préparer l'environnement, résoudre les dépendances de bibliothèques statiques et finaliser l'installation.

1. Préparation de l'environnement de build

Avant de compiler Redis, il est indispensable de disposer des outils de développement standard et des bibliothèques de base. Sur une instance CentOS 7 propre (par exemple, 2 CPU et 2 Go de RAM), commencez par mettre à jour les dépôts et installer la chaîne de compilation GCC.

# Mise à jour du système et installation des outils de base
sudo yum update -y
sudo yum install -y gcc gcc-c++ make automake autoconf libtool

2. Téléchargement et extraction des sources

Récupérez l'archive du code source (exemple ici avec la version 8.x) depuis le site officiel de Redis, puis procédez à l'extraction dans votre répertoire de travail.

# Extraction de l'archive
tar -zxvf redis-8.4.0.tar.gz
cd redis-8.4.0

3. Résolution des dépendnaces internes (deps)

Depuis les versions récentes, Redis s'appuie sur plusieurs bibliothèques etxernes situées dans le répertoire deps. Si vous tentez une compilation directe via make, vous risquez de rencontrer des erreurs liées à des fichiers .a manquants (comme libfast_float.a ou libxxhash.a). La solution consiste à compiler manuellement ces modules avant de lancer la compilation principale du serveur.

# Entrer dans le répertoire des dépendances
cd deps

# Compiler spécifiquement les bibliothèques requises
make fast_float
make jemalloc
make xxhash
make lua

# Retour au répertoire racine des sources
cd ..

Le choix de l'allocateur de mémoire est crucial. Par défaut, Redis utilise jemalloc pour une meilleure gestion de la fragmentation. Si vous préférez utiliser l'allocateur standard de la bibliothèque C (glibc), vous pouvez passer l'argument MALLOC=libc lors de l'étape suivante.

4. Compilation et installation du binaire

Une fois les dépendances prêtes, lancez la compilation du projet principal. Nous définissons ici un répertoire de destination spécifique via la variable PREFIX pour isoler l'installation.

# Compilation avec l'allocateur libc (optionnel, selon vos besoins)
make MALLOC=libc

# Installation dans le répertoire /usr/local/redis_prod
sudo make install PREFIX=/usr/local/redis_prod

Vérifiez le succès de l'opération en contrôlant le code de sortie (echo $?) qui doit être 0.

5. Initialisation du service Redis

Une fois l'installation terminée, les exécutables se trouvent dans le sous-répertoire bin du chemin défini précédemment. Vous pouvez démarrer le serveur en arrière-plan pour tester son fonctionnement immédiat.

# Accéder au dossier d'installation
cd /usr/local/redis_prod/bin

# Lancer le serveur Redis en mode détaché
nohup ./redis-server ../redis.conf &

# Vérification du processus
ps -ef | grep redis-server

Il est recommandé de modifier le fichier redis.conf pour ajuster les paramètres de sécurité, notamment le mot de passe (requirepass) et l'interface d'écoute (bind), avant toute utilisation en production.

Étiquettes: CentOS Redis GCC compilation Linux-Administration

Publié le 22 juillet à 03h21