How to setup and run mulitple Redis server instances on a Linux host

Purpose

Users can easily setup and run a multiple Redis instances the same Linux host. We have a Redis instance running on Ubuntu 14.04 and we want to setup a second Redis instance. If you don't have a Redis server install yet, see "How to install and use Redis on Linux" KB article.

  1. Existing Redis server1 instance running on port 6379 using
    • /etc/redis/redis_6379.conf configuration file
    • /etc/init.d/redis_6379 script
  2. Create a new(2nd) Redis server2 instance running on port 6380 using
    • /etc/redis/redis_6380.conf configuration file
    • /etc/init.d/redis_6380 script

Instructions

1. Setup a second Redis instance configuration file

cp /etc/redis/redis_6379.conf /etc/redis/redis_6380.conf

2. Change the following lines in /etc/redis/redis_6380.conf

pidfile /var/run/redis_6379.pid
port 6379
logfile /var/log/redis/redis_6379.log
dir /var/lib/redis/6379

to this:

pidfile /var/run/redis_6380.pid
port 6380
logfile /var/log/redis/redis_6380.log
dir /var/lib/redis/6380

3. Create a second Redis instance working directory

mkdir /var/lib/redis/6380

4. Change the following line in /etc/init.d/redis_6379 scirpt

EXEC=/usr/local/bin/redis-server        (no change here)
CLIEXEC=/usr/local/bin/redis-cli         (no change here)
PIDFILE=/var/run/redis_6379.pid
CONF="/etc/redis/6379.conf"
REDISPORT="6379"

to this:

NAME=`basename ${0}`
EXEC=/usr/local/bin/redis-server       (no change here)
CLIEXEC=/usr/local/bin/redis-cli        (no change here)
PIDFILE=/var/run/${NAME}.pid
CONF="/etc/redis/${NAME}.conf"
REDISPORT="${NAME#*_}"

5. Create a symlink script for the second server instance

ln -s /etc/init.d/redis_6379 /etc/init.d/redis_6380

6. Now we can start up and use both server instances

/etc/init.d/redis_6379 start
/etc/init.d/redis_6380 start
> redis-cli -p 6379 info server | egrep "process_id|tcp_port|config_file"
process_id:8329
tcp_port:6379
config_file:/etc/redis/redis_6379.conf

> redis-cli -p 6380 info server | egrep "process_id|tcp_port|config_file"
process_id:5809
tcp_port:6380
config_file:/etc/redis/redis_6380.conf

results matching ""

    No results matching ""