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.
- Existing Redis server1 instance running on port 6379 using
- /etc/redis/redis_6379.conf configuration file
- /etc/init.d/redis_6379 script
- 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