$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz
$ tar xzvf redis-4.0.1.tar.gz
$ cd redis-4.0.1
$ make && make install&
$ make test ##检测错误 可能缺依赖 下面报错二
$ cp redis.conf /etc/ ##后续脚本需要用到
redis需要修改的配置
注释掉一下三个配置
#save 900 1 #900秒(15分钟)内至少有1个key被改变
#save 300 10 #300秒(5分钟)内至少有300个key被改变
#save 60 10000 #60秒内至少有10000个key被改变
daemonize yes #后台运行
bind 127.0.0.1redis服务器IP#绑定主机IP
可以选配置
requirepass redis密码 #配置redis认证密码,若不需要可注释掉
maxclients 128 #最大客户端连接数,默认不限制(注释)
maxmemory #设置最大内存,达到最大内存设置后,Redis会先尝试清除已到期或即将到期#的Key,当此方法处理后,仍到达最大内存设置,将无法再进行写入操作。(注释)
设置redis快捷启动脚本
$ vi /etc/init.d/redis
#复制如下表格中的脚本信息
#脚本赋权
$ chmod 755 /etc/init.d/redis
快捷开启命令
$ service redis start|status|stop|restart
注:redis 编译安装报错处理
1、报错一 没用gcc
安装过程
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
注意gcc依赖了很多东西,有些包可能系统已经
装了,有些没有,防止出意外,最好都走一遍
2、报错二,没有tcl8.5, 安装tcl8.5,过程如下
下载地址:http://sourceforge.net/projects/tcl/files/Tcl/8.6.3/tcl8.5.10-src.tar.gz/download
安装过程 下载到redis同级目录并安装
tar -zxvf tcl8.5.tar.gz
cd tcl18.5/unix
./configure
make && make install
3、zmalloc.h:50:31:
error: jemalloc/jemalloc.h: No such file or directory
进入deps/jemalloc 下执行
./configure
make && make install
4、cc:
../deps/hiredis/libhiredis.a: No such file or directory
进入 /deps/hiredis/
执行
make && make install
5、 cc:
../deps/lua/src/liblua.a: No such file or directory
make && make install
如果还报错,删除解压出来的文件重新解压
回到redis目录执行
#!/bin/sh # # redis - this script starts and stops the redis-server daemon # # chkconfig: - 85 15 # description: Redis is a persistent key-value database # processname: redis-server # config: /etc/redis.conf # config: /etc/sysconfig/redis # pidfile: /var/run/redis.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 redis="/usr/local/bin/redis-server" prog=$(basename $redis) REDIS_CONF_FILE="/etc/redis.conf" [ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis lockfile=/var/lock/subsys/redis start() { [ -x $redis ] || exit 5 [ -f $REDIS_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $redis $REDIS_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } reload() { echo -n $"Reloading $prog: " killproc $redis -HUP RETVAL=$? echo } force_reload() { restart } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac |