?
1、安装编译工具
?
yum install wget ?make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils ?patch perl
?
2、安装tcl组件包(安装Redis需要tcl支持)
?
下载:http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
?
上传tcl8.6.1-src.tar.gz到/usr/local/src目录
?
cd /usr/local/src #进入软件包存放目录
?
tar ?zxvf ?tcl8.6.1-src.tar.gz ?#解压
?
cd tcl8.6.1 #进入安装目录
?
cd unix
?
./configure --prefix=/usr ? --without-tzdata ? ?--mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit) ? #配置
?
make #编译
?
sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" ?-e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" ?-i tclConfig.sh
?
make install ?#安装
?
make install-private-headers
?
ln -v -sf tclsh8.6 /usr/bin/tclsh
?
chmod -v 755 /usr/lib/libtcl8.6.so
?
3、安装Redis
?
下载:http://download.redis.io/redis-stable.tar.gz
?
上传redis-stable到/usr/local/src目录
?
cd /usr/local/src
?
tar -zxvf redis-stable.tar.gz #解压
?
mv redis-stable ?/usr/local/redis #移动文件到安装目录
?
cd /usr/local/redis ?#进入安装目录
?
make #编译
?
make install #安装
?
cd ?/usr/local/bin #查看是否有下面文件,如果没有,拷贝下面文件到/usr/local/bin目录
?
cd /usr/local/redis
?
mkdir -p /usr/local/redis/bin
?
cp -p redis-server /usr/local/redis/bin
?
cp -p redis-benchmark /usr/local/redis/bin
?
cp -p redis-cli /usr/local/redis/bin
?
cp -p redis-check-dump /usr/local/redis/bin
?
cp -p redis-check-aof /usr/local/redis/bin
?
ln -s ?/usr/local/redis/etc/redis.conf ?/etc/redis.conf ?#添加配置文件软连接
?
vi /etc/redis.conf ?#编辑
?
daemonize yes ?#设置后台启动redis
?
:wq! #保存退出
?
redis-server /etc/redis.conf ?#启动redis服务
?
redis-cli shutdown ?#关闭redis
?
vi /etc/sysctl.conf #编辑,在最后一行添加下面代码
?
vm.overcommit_memory = 1
?
:wq! #保存退出
?
sysctl -p #使设置立即生效
?
4、设置redis开机启动
?
vi /etc/init.d/redis ? #编辑,添加以下代码
?
#!/bin/sh
?
# chkconfig: ? 2345 90 10
?
# description: ?Redis is a persistent key-value database
?
# redis ? ?Startup script for redis processes
?
# processname: redis
?
redis_path="/usr/local/redis/bin/redis-server"
?
redis_conf="/etc/redis.conf"
?
redis_pid="/var/run/redis.pid"
?
# Source function library.
?
. /etc/rc.d/init.d/functions
?
[ -x $redis_path ] || exit 0
?
RETVAL=0
?
prog="redis"
?
# Start daemons.
?
start() {
?
if [ -e $redis_pid -a ! -z $redis_pid ];then
?
echo $prog" already running...."
?
exit 1
?
fi
?
echo -n $"Starting $prog "
?
# Single instance for all caches
?
$redis_path $redis_conf
?
RETVAL=$?
?
[ $RETVAL -eq 0 ] && {
?
touch /var/lock/subsys/$prog
?
success $"$prog"
?
}
?
echo
?
return $RETVAL
?
}
?
# Stop daemons.
?
stop() {
?
echo -n $"Stopping $prog "
?
killproc -d 10 $redis_path
?
echo
?
[ $RETVAL = 0 ] && rm -f $redis_pid /var/lock/subsys/$prog
?
RETVAL=$?
?
return $RETVAL
?
}
?
# See how we were called.
?
case "$1" in
?
start)
?
start
?
;;
?
stop)
?
stop
?
;;
?
status)
?
status $prog
?
RETVAL=$?
?
;;
?
restart)
?
stop
?
start
?
;;
?
condrestart)
?
if test