
Multiples instances Redis
Le besoin
Mon besoin au départ c'est de faire fonctionner plusieurs instances de forums NodeBB sur un même serveur.
Après avoir sollicité les experts, j'ai retenu que la bonne pratique recommandée est de faire cohabiter plusieurs instances Redis, chacune associée à chaque forum.
Référence
Ma référence pour écrire mon article, est celui de Chris Laskey sur le même sujet :
http://chrislaskey.com/blog/342/running-multiple-redis-instances-on-the-same-server
L'objet de mon billet est de faire ressortir en français les étapes clés du procédé.
En pratique
Première étape, faire une copie de /etc/redis/redis.conf
en redis-2.conf
par exemple.
Dans ce fichier de configuration, 4 valeurs sont à changer à minima :
- pidfile /var/run/redis-2.pid
- port 6380
- logfile /var/log/redis/redis-server-2.log
- dir /var/lib/redis-2
Ensuite il faut créer le répertoire /var/lib/redis-2
et penser à modifier le owner pour redis:redis avec la commande suivante :
chown redis:redis /var/lib/redis-2
.
Troisième étape, dans /etc/init.d/
faire une copie du script init redis-server en redis-server-2 pour notre exemple.
Modifier :
- DAEMON_ARGS
- NAME
- DESC
- et PIDFILE
Etape suivante, pour que ce script soit lancé automatiquement au démarrage, exécutez : update-rc.d redis-server-2 defaults
.
Pour finir, démarrez l'instance /etc/init.d/redis-server-2 start
.
Conclusion
Vous vous retrouvez avec une nouvelle instance Redis que vous pouvez dédier à une application supplémentaire.
Un avantage immédiat, c'est que dans le cas où vous souhaitez déménager ou arrêter une application spécifique, vous pourrez le faire sans avoir à gérer des interdépendances entre plusieurs applications utilisant le même fichier dump Redis. Plutôt cool :-).