一)下载源码,编译安装
- # 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的命令
此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/60035.html
- 启动 # redis-server /etc/redis.conf
- 关闭
- # redis-cli shutdown
- 关闭某个端口上的redis # redis-cli -p port shutdown