Linux安装Redis

  • 下载
    wget http://download.redis.io/redis-stable.tar.gz
  • 解压编译
    tar -xzf redis-stable.tar.gz
    cd redis-stable
    make
    make install
  • 可能出现的问题
    • 没有安装gcc,这会导致我们无法make成功。使用yum安装:
      yum -y install gcc
    • make时报如下错误:
      zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
      zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
      make[1]: *** [adlist.o] Error 1
      make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
      make: *** [all] Error 2
      原因是jemalloc重载了Linux下的ANSI C的malloc和free函数。解决办法:make时添加参数。
      make MALLOC=libc
    • make之后,会出现一句提示
      Hint: To run 'make test' is a good idea ;)
      但是不测试,通常是可以使用的。若我们运行make test ,会有如下提示
      [devnote@devnote src]$ make test
      You need tcl 8.5 or newer in order to run the Redis test
      make: ***[test] Error_1
      解决办法是用yum安装tcl8.5(或去tcl的官方网站http://www.tcl.tk/下载8.5版本,并参考官网介绍进行安装)
      yum install tcl
  • 目录
    • mkdir /etc/redis(存储配置文件)
    • mkdir -p /var/redis/REDIS的端口号#(以redis实例的端口作为目录名,存储持久化文件)
    • redis-stable/utils目录下有redis_init_script的脚本文件cp /root/redis-stable/utils/redis_init_script /etc/init.d/redis_端口号 这里你可能需要编辑脚本修改端口号
    • redis-stable目录下有redis.conf,cp /root/redis-stable/redis.conf /etc/redis/端口号.conf
  • redis配置
# 默认情况下 redis 不是作为守护进程运行的,
# 如果你想让它在后台运行,
# 你需要把配置文件里daemonize改成 yes。
c
maxclients 100000 
maxmemory 4294967296 
requirepass youpwd 
 
#分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改,
# 如果触发任何一个条件,即将内存的数据同步到磁盘
# 快照持久化策略,详细参考网上说明 
save * * 

# 持久化文件目录
dir /var/redis//端口号 
# 打开aof文件持久化 
appendonly yes 
#aof文件名,保存路径与快照文件一样,也就是dir配置指定的目录 
appendfilename appendonly.aof 
#aof增长相对上次aof rewrite增长达到100%时,且文件大小超过auto-aof-rewrite-min-size时会发生aof rewrite 
auto-aof-rewrite-percentage 100 
auto-aof-rewrite-min-size 64m 
pidfile /var/run/redis_6379.pid #保存进程号的文件路径
  • 启动与停止
    • 启动/etc/init.d/redis_端口号 start
    • 停止pgrep redis|xargs kill,redis脚本有停止的命令,但是我设置了requirepass的值,导致停止不成功,pgrep redis|xargs kill会干掉所有redis进程
  • 设置开机启动
    在启动脚本开头,#!/bin/sh后面添加如下两行
    chkconfig: 2345 80 90
    description:auto_run
    看起来像这样:
#!/bin/sh
#chkconfig: 2345 80 90
#description:auto_run

然后执行下面两条命令
chkconfig –add redis_{端口号}
chkconfig redis_{端口号} on

  • redis-sentinel
    • 复制配置文件模版cp /root/redis-stable/sentinel.conf /etc/redis/sentinel.conf
    • sentinel.conf配置文件详解
bind 0.0.0.0
port 26379
dir "/tmp"
sentinel monitor redis_161 192.1.3.161 6379 2
sentinel down-after-milliseconds redis_161 10000
sentinel parallel-syncs redis_161 5
sentinel auth-pass redis_161 NQPBizknKoRfAc
sentinel config-epoch redis_161 0
sentinel leader-epoch redis_161 0

sentinel monitor redis_162 192.1.3.162 6380 2
sentinel down-after-milliseconds redis_162 60000
sentinel auth-pass redis_162 NQPBizknKoRfAc
# Generated by CONFIG REWRITE
sentinel config-epoch redis_162 0
sentinel leader-epoch redis_162 0
sentinel current-epoch 0
  • 启动redissentinel:redis-sentinel /etc/redis/sentinel.conf &

你可能感兴趣的:(Linux安装Redis)