La nouvelle release 4.0 de Redis est désormais disponible en version stable, cependant si vous souhaitez installer la dernière version de redis-server, il est nécessaire de le compiler.

Edit du 10/10/2017 : redis-server est désormais disponible depuis les dépôts officiel pour Ubuntu 16.04 LTS. Il vous suffit donc de mettre à jour votre liste de dépôts et d'installer redis-server via apt :

apt update && apt install redis-server

Nous allons donc voir dans ce tutoriel, comment compiler redis 4.0 et comment le déclarer en tant que service via systemd, sur Ubuntu 16.04 LTS ou Debian 8/9.

Il nous faut tout d'abord installer les paquets nécessaires pour compiler depuis les sources :

apt-get install build-essential
apt-get install tcl wget

On télécharge ensuite la dernière release depuis le site avant d'extraire les fichiers :

wget http://download.redis.io/releases/redis-4.0.1.tar.gz
tar xzf redis-4.0.1.tar.gz
cd redis-4.0.1

On commence par nettoyer la configuration

make distclean

Puis on lance la compilation :

make -j $(nproc)

Avant d'installer redis-server, il est préférable d'utiliser make test pour s'assurer qu'il n'y a aucune erreur. Si cette opération se déroule bien, on peut alors installer redis :

make install

redis-server est désormais installé, mais pour faciliter sa gestion et pour qu'il démarre automatiquement nous allons le déclarer en tant que service systemd. Pour cela il suffit d'aller dans le dossier utils situé dans le dossier redis-4.0.1, puis d'utiliser le script install_server.sh. Vous pourrez alors choisir le nom de votre service redis.

cd utils
./install_server.sh

On peut enfin démarrer redis-server, dont le service se nomme par défaut redis_6379:

systemctl start redis_6379

Redis 4.0 est maintenant installé et opérationel sur votre serveur, mais certaines options sont à ajouter dans votre fichier /etc/sysctl.conf pour assurer un bon fonctionnement, notamment la ligne :

vm.overcommit_memory = 1

Pour appliquer la modification, utilisez la commande sysctl -p.
Vous pouvez également utiliser mon fichier de configuration systcl.conf disponible sur mon instance gogs et qui contient la plupart des options pour optimiser les performances de votre serveur et vous protéger de certaines attaques réseaux du type SYN flood :

wget -O /etc/sysctl.conf https://git.virtubox.net/virtubox/debian-config/raw/master/etc/sysctl.conf
sysctl -e -p /etc/sysctl.conf

Il peut également être nécessaire de désactiver la fonction transparent hugepage de votre kernel qui a normalement pour but d'optimiser la gestion de la mémoire. Cela se fait via la commande :

echo never > /sys/kernel/mm/transparent_hugepage/enabled

Enfin, si vous souhaitez optimiser la configuration de redis-server, vous pouvez définir les valeurs suivantes dans /etc/redis/redis.conf

maxclients 20000
tcp-backlog 8192

licence creative common

L’ensemble des articles publiés sur jesuisadmin.fr sont mis à disposition selon les termes de la licence CC BY-NC-SA 4.0.