redis单机版安装

#!/bin/bash

#######################install redis scripts#############################################

REDIS_VERSION='2.8.13'
REDIS_GZIP='redis-'$REDIS_VERSION'.tar.gz'
REDIS_URL='http://download.redis.io/releases/'$REDIS_GZIP
REDIS_HOME='/usr/local/redis/latest'

REDIS_PORT='6379'
REDIS_SENTINEL_PORT='26379'

####################functions ----------------------------------------------
function logMessageToFile(){
        echo '[ '$1' ] - ['$(date "+%Y-%m-%d %H:%M:%S")'] - '$2 >> /var/log/redis.log
}

function installRedis(){
logMessageToFile "INFO"  'installRedis'
mkdir /usr/local/redis
cd /usr/local/redis
logMessageToFile "DEBUG" "Downloading redis archive from: $REDIS_URL"
wget $REDIS_URL
tar xzf $REDIS_GZIP
rm -f $REDIS_GZIP
ln -s /usr/local/redis/redis* latest
cd $REDIS_HOME
yum install -y gcc-c++ jemalloc-devel
checkRPMWasInstalled gcc-c++
checkRPMWasInstalled jemalloc-devel
logMessageToFile "DEBUG" "Compiling redis..."
make
}

function configureRedis(){
logMessageToFile "INFO"  "configureRedis"
mkdir /etc/redis
mkdir /var/redis
cd $REDIS_HOME
cp src/redis-server /usr/local/bin
cp src/redis-cli /usr/local/bin
cp utils/redis_init_script /etc/init.d/redis_$REDIS_PORT
sed -i '2i # chkconfig: 234 95 20' /etc/init.d/redis_$REDIS_PORT
sed -i '3i # description:  Redis is a persistent key-value database' /etc/init.d/redis_$REDIS_PORT
sed -i '4i # processname: redis' /etc/init.d/redis_$REDIS_PORT
sed 's/^REDISPORT=.*/REDISPORT='$REDIS_PORT'/' -i /etc/init.d/redis_$REDIS_PORT
cp redis.conf /etc/redis/$REDIS_PORT.conf
mkdir /var/redis/$REDIS_PORT
sed 's/^daemonize .*/daemonize yes/' -i /etc/redis/$REDIS_PORT.conf
sed 's/^pidfile .*/pidfile \/var\/run\/redis_'$REDIS_PORT'\.pid/' -i /etc/redis/$REDIS_PORT.conf
sed 's/^port .*/port '$REDIS_PORT'/' -i /etc/redis/$REDIS_PORT.conf
sed 's/^loglevel .*/loglevel notice/' -i /etc/redis/$REDIS_PORT.conf
sed 's/^logfile .*/logfile \/var\/log\/redis_'$REDIS_PORT'\.log/' -i /etc/redis/$REDIS_PORT.conf
sed 's/^dir .*/dir \/var\/redis\/'$REDIS_PORT'/' -i /etc/redis/$REDIS_PORT.conf
chkconfig --add redis_$REDIS_PORT  
chkconfig --level 234 redis_$REDIS_PORT on

}

function startRedis(){
logMessageToFile "INFO"  "Starting redis on port $REDIS_PORT..."
service redis_$REDIS_PORT start
}

function installAndConfigureRedis(){
logMessageToFile "INFO" "installAndConfigureRedis"
installRedis
configureRedis
}

installAndConfigureRedis
startRedis

 

posted @ 2017-05-04 14:41  jackchen007  阅读(128)  评论(0编辑  收藏  举报