How To Install Redis on CentOS 6

Install Redis on CentOS 6

For those of you who didn’t know, Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. Redis also supports datatypes such as Transitions, Publish and Subscribe. ‘Redis ’ is considered more powerful than ‘Memcache’ . It would be smart to bring ‘Redis’ into practice and put ‘Memcache’ down for a while.

This article assumes you have at least basic knowledge of linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple. I will show you through the step by step installation Redis on CentOS 6.

Install Redis on CentOS 6

Step 1. First, you need to enable EPEL repository on your system.

## RHEL/CentOS 6 64-Bit ##
# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm

## RHEL/CentOS 6 32-Bit ##
# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm

Step 2. Install Redis with Yum.

yum -y update
yum install redis php-pecl-redis

Enable Redis service to start on boot:

service redis start
chkconfig redis on

Check if Redis is Running:

### chkconfig –list redis
redis 0:off 1:off 2:on 3:on 4:on 5:on 6:off

To make sure redis is working, run command “redis-cli ping” from commandline. If you get result “PONG”, that shows redis is working.

Step 3.  Install Redis PHP extension.

After we have Redis installed we will need the PHP-REDIS extension. Using following command:

pecl install redis

Now open php.ini file and add the following line to it:

### nano /etc/php.ini
extension=redis.so

Now restart Apache to apply the changes to php.ini file:

service httpd restart

Step 4. Install web interface for Redis.

phpRedisAdmin is a simple web interface to manage Redis databases:

git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git
cd phpRedisAdmin/includes
cp config.sample.inc.php config.inc.php

Make sure the setting are correct:

nano config.inc.php

Lets add the RedisAdmin configuration file to Apache:

### nano /etc/httpd/conf.d/redisadmin.conf
### Now add the following ###
#
#  Web Interface for RedisAdmin
# 

<Directory "/downloads/phpRedisAdmin/">
  Order Deny,Allow
  Deny from all
  Allow from 127.0.0.1
  Allow from <your ipaddress>
</Directory>

Alias /redisAdmin /downloads/phpRedisAdmin
Alias /redisadmin /downloads/phpRedisAdmin

Create a Bash Script to make sure Redis is running:

### nano /scripts/redis-check.sh
#!/bin/bash
PS=$(which ps)
GREP=$(which grep)
WHEN=$(date +"%Y-%m-%d-%H:%M:%S")
   if  ! $PS aux | $GREP "redis.conf" | $GREP -v grep 2>&1 > /dev/null; then
       /etc/init.d/redis restart
       echo 'Restarted Redis @' $WHEN
   fi
#Check Second instance
   if  ! $PS aux | $GREP "redis2.conf" | $GREP -v grep 2>&1 > /dev/null; then
       /etc/init.d/redis2 restart
       echo 'Restarted Redis2 @' $WHEN
   fi

Make the Script executable:

chmod +x /scripts/redis-check.sh

Add your script to your cron to run every 3 minutes or so:

### nano /var/spool/cron/root
*/3 * * * * /bin/bash /script/redis-check.sh >> /var/log/redis-check.log

Congratulation’s! You have successfully installed Redis. Thanks for using this tutorial for installing Redis server on CentOS 6 system.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get a best deal!