Redis is an open-source, networked, in-memory, key-value data store with optional durability. It is written in ANSI C. It’s a “NoSQL” key-value data store. More precisely, it is a data structure server.
To install Redis as daemon on a CentOS/RHEL/cPanel server, complete the following steps
cd /usr/local/
wget http://download.redis.io/releases/redis-stable.tar.gz
tar -xvzf redis-stable.tar.gz
cd redis*
make
cp src/redis-server /usr/local/bin
cp src/redis-cli /usr/local/bin
mkdir -p /etc/redis
mkdir -p /var/redis
cp redis.conf /etc/redis/redis.conf
Next, open the/etc/redis/redis.conf file using vim or nano and adjust the values to the ones shown below:
daemonize yes
port 6379
bind 127.0.0.1
dir /var/redis/
logfile /var/log/redis.log
pidfile /var/run/redis.pid
Then, create a new file /etc/init.d/redis and add the following contents to it ( Reference https://gist.github.com/paulrosania/257849 ). Now, make it executable ( chmod +x /etc/init.d/redis ).
#!/bin/sh
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig: - 85 15
# description: Redis is a persistent key-value database
# processname: redis-server
# config: /etc/redis/redis.conf
# config: /etc/sysconfig/redis
# pidfile: /var/run/redis.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
redis="/usr/local/bin/redis-server"
prog=$(basename $redis)
REDIS_CONF_FILE="/etc/redis/redis.conf"
[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis
lockfile=/var/lock/subsys/redis
start() {
[ -x $redis ] || exit 5
[ -f $REDIS_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $redis $REDIS_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading $prog: "
killproc $redis -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
Now make sure the daemon will start after server reboot.
chkconfig --add redis
chkconfig redis on
Now, you will want to touch /etc/redis/local.conf and put the following configs for redis in the file so it to work properly. go inside the /etc/redis/redis.conf file.
include /etc/redis/local.conf
Now we can start redis using command
/etc/init.d/redis start
To make sure redis is working, run the command
redis-cli ping
from the CLI. If you get the result “PONG”, this will imply that redis is working correctly.
Now, to install the redis PHP extension, use the following commands (Note: if you run EA4 in WHM, install it via the PECL Module install feature).
pecl install redis
Now open your php.ini file (on a cPanel server)
/usr/local/lib/php.ini
and add the following line to it
extension=redis.so
Now restart Apache to apply the changes to php.ini file.
service httpd restart