mkdir -p /home/download
cd /home/download
# 下载redis安装包
wget http://redis.googlecode.com/files/redis-2.4.17.tar.gz
# 解压
tar xvf redis-2.4.17.tar.gz
# 编译
make PREFIX=/usr/local/redis USE_TCMALLOC=yes install
# 创建目录
mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/run
mkdir -p /usr/local/redis/data/6379
mkdir -p /usr/local/redis/log
# 安装配置
cp /home/download/redis-2.4.17/redis.conf /usr/local/redis/etc/redis.conf
cp /usr/local/redis/etc/redis.conf /usr/local/redis/etc/redis_6379.conf
# 创建服务脚本
cat>/etc/init.d/redis
#!/bin/sh
PATH="/usr/local/redis/bin:$PATH"
EXEC="/usr/local/redis/bin/redis-server"
CLIEXEC="/usr/local/redis/bin/redis-cli"
PIDFILE="/usr/local/redis/run/redis_6379.pid"
CONF="/usr/local/redis/etc/redis_6379.conf"
PORT="6379"
case "$1" in
start)
if [ -f $$PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed."
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running."
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $PORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped."
fi
;;
restart)
$0 stop && $0 start
;;
*)
echo "Usage: $0 {start|stop|restart}" >&2
exit 1
;;
esac