Search code examples
redisstackexchange.redisnode-redisredis-server

Running multiple instance of Redis on Centos


I want to run multiple instance of Redis on Centos 7. Can anyone point me to proper link or post steps here.

I googled for the information but I didn't find any relevant information.


Solution

  • You can run multiple instances of Redis using different ports on a single machine. If this what concerns you then you can follow the below steps.

    By installing the first Redis instance, it listens on localhost:6379 by default.

    For Second Instance create a new working directory

    The default Redis instance uses /var/lib/redis as its working directory, dumped memory content is saved under this directory with name dump.rdb if you did not change it. To avoid runtime conflicts, we need to create a new working directory.

    mkdir -p /var/lib/redis2/
    chown redis /var/lib/redis2/
    chgrp redis /var/lib/redis2/
    

    Generate configurations

    Create a new configuration file by copying /etc/redis/redis.conf

    cp /etc/redis/redis.conf /etc/redis/redis2.conf
    chown redis /etc/redis/redis2.conf
    

    Edit following settings to avoid conflicts

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

    Create service file

    cp /usr/lib/systemd/system/redis.service /usr/lib/systemd/system/redis2.service
    

    Modify the settings under Service section

    [Service]
    ExecStart=/usr/bin/redis-server /etc/redis/redis2.conf --daemonize no
    ExecStop=/usr/bin/redis-shutdown redis2
    

    Set to start with boot

    systemctl enable redis2
    

    Start 2nd Redis

    service redis2 start
    

    Check Status

    lsof -i:6379
    lsof -i:6380
    

    By Following this you can start two Redis servers. If you want more repeat the steps again.