Redis安装配置

一)下载源码,编译安装

# wget http://redis.googlecode.com/files/redis-2.2.8.tar.gz 


# tar xf redis-2.2.8.tar.gz 


# cd redis 


# make  


# 网上说不能make install,可我这就是可以,奇怪,省去了手动copy redis命令的步骤


# make install  

make install后显示

cd src && make install 


make[1]: Entering directory `/usr/local/src/redis-2.2.8/src' 


cd ../deps/hiredis && make static ARCH="" 


make[2]: Entering directory `/usr/local/src/redis-2.2.8/deps/hiredis' 


make[2]: Nothing to be done for `static'. 


make[2]: Leaving directory `/usr/local/src/redis-2.2.8/deps/hiredis' 


cd ../deps/linenoise && make ARCH="" 


make[2]: Entering directory `/usr/local/src/redis-2.2.8/deps/linenoise' 


make[2]: `linenoise_example' is up to date. 


make[2]: Leaving directory `/usr/local/src/redis-2.2.8/deps/linenoise' 


cd ../deps/hiredis && make static 


make[2]: Entering directory `/usr/local/src/redis-2.2.8/deps/hiredis' 


make[2]: Nothing to be done for `static'. 


make[2]: Leaving directory `/usr/local/src/redis-2.2.8/deps/hiredis' 


cc -o redis-benchmark -std=c99 -pedantic -O2 -Wall -W   -lm -pthread   -g -rdynamic -ggdb  ae.o anet.o redis-benchmark.o sds.o adlist.o zmalloc.o ../deps/hiredis/libhiredis.a 


cc -o redis-cli -std=c99 -pedantic -O2 -Wall -W   -lm -pthread   -g -rdynamic -ggdb  anet.o sds.o adlist.o redis-cli.o zmalloc.o release.o ../deps/hiredis/libhiredis.a ../deps/linenoise/linenoise.o 


 


Hint: To run 'make test' is a good idea ;) 


 


mkdir -p /usr/local/bin 


cp -p redis-server /usr/local/bin 


cp -p redis-benchmark /usr/local/bin 


cp -p redis-cli /usr/local/bin 


cp -p redis-check-dump /usr/local/bin 


cp -p redis-check-aof /usr/local/bin 


make[1]: Leaving directory `/usr/local/src/redis-2.2.8/src' 

二)修改配置

修改配置之前,请将redis.conf copy一份到/etc/目录下

daemonize no 

改成

daemonize yes 

这两个参数

loglevel warning  


logfile /var/log/redis.log  

取消注释

syslog-enabled no #这个改成syslog-enabled yes




syslog-facility local0

数据文件目录

# The working directory. 


# 


# The DB will be written inside this directory, with the filename specified 


# above using the 'dbfilename' configuration directive. 


# 


# Also the Append Only File will be created inside this directory. 


# 


# Note that you must specify a directory here, not a file name. 


dir /var/db/redis 

内存,连接数设置

maxmemory 256000000


maxclients 500

三)启动脚本

#!/bin/bash 


# 


# Init file for redis 


# 


# chkconfig: - 80 12 


# description: redis daemon 


# 


# processname: redis 


# config: /etc/redis.conf 


# pidfile: /var/run/redis.pid 


 


. /etc/init.d/functions 


 


BIN="/usr/local/bin" 


CONFIG="/etc/redis.conf" 


PIDFILE="/var/run/redis.pid" 


 


### Read configuration 


[ -r "$SYSCONFIG" ] && source "$SYSCONFIG" 


 


RETVAL=0 


prog="redis-server" 


desc="Redis Server" 


 


start() { 


 


        if [ -e $PIDFILE ];then 


             echo "$desc already running...." 


             exit 1 


        fi 


 


        echo -n $"Starting $desc: " 


        daemon $BIN/$prog $CONFIG 


 


        RETVAL=$? 


        echo 


        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog 


        return $RETVAL 


} 


 


stop() { 


        echo -n $"Stop $desc: " 


        killproc $prog 


        RETVAL=$? 


        echo 


        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE 


        return $RETVAL 


} 


 


restart() { 


        stop 


        start 


} 


 


 


case "$1" in 


  start) 


        start 


        ;; 


  stop) 


        stop 


        ;; 


  restart) 


        restart 


        ;; 


  condrestart) 


        [ -e /var/lock/subsys/$prog ] && restart 


        RETVAL=$? 


        ;; 


  status) 


        status $prog 


        RETVAL=$? 


        ;; 


   *) 


echo $"Usage: $0 {start|stop|restart|condrestart|status}" 


        RETVAL=1 


esac 


 


exit $RETVAL 

配置启动脚本

#chmod 755 /etc/init.d/redis 


# chkconfig --add redis 


# chkconfig redis on 

四)启动

在正式启动redis之前,先创建数据目录

# mkdir /var/db/redis 

否则会出现下面的错误

[3030] 27 May 16:50:38 # Can't chdir to '/var/db/redis': No such file or directory 

同时配置内核参数

sysctl vm.overcommit_memory=1 

否则提示错误

# WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. 


#To fix this issue 


#add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 


#'sysctl vm.overcommit_memory=1' for this to take effect. 

最后,启动

[root@web ~]# /etc/init.d/redis start 


Starting Redis Server:                                     [  OK  ]

PS:不利用脚本启动,关闭redis的命令

启动 


# redis-server /etc/redis.conf 


 


关闭 


# redis-cli shutdown 


 


关闭某个端口上的redis 


# redis-cli -p port shutdown

相关推荐