> 数据库 > Redis >

CentOS(Linux)下编译安装Redis注意事项

在CentOS(Linux)下编译安装Redis(V2.8.7)之后,总结的注意事项如下:

下载安装Redis:

$ wget http://download.redis.io/releases/redis-2.8.7.tar.gz
$ tar xzf redis-2.8.7.tar.gz
$ cd redis-2.8.7
$ make

TIPS: 可先到官网下载Redis文件,同时可以查看官网的编译安装方法( 传送门)。

  1. 在Redis根目录下,直接 make
  2. make 成功后,如果需要 make test ,则需要配置TCL8.5/TCL8.6来进行测试
  3. TCL8.6非默认安装的时候(CentOS版本偏低),一定要在PATH的路径中创建文件连接到tclsh8.6,同时注意,文件名称必须是tclsh8.5/tclsh8.6,因为在make test的时候,会使用which查找8.5或者8.6版本的tcl
  4. 安装:直接 make install ,默认安装在 /usr/local/bin 下,如果需要设置自定义路径,用 make PREFIX=/usr/local/redis install 来安装
  5. 安装后,默认是没有配置文件的,需要配置的话,在安装成功后可以使用utils里面的 install_server.sh 来配置服务器. 
       install_server.sh里面有很多bug,如果不修改你将会发现/etc/init.d/redis_***是无法正常使用的——里面的配置文件有很多\n,未被转义. 
         line 163,177: if [ !`which chkconfig` ]; then 中 !应该和`which chkconfig`之间有个空格没有出现 
         line 165: echo 之后应该需要一个-e参数,表示允许使用转义字符.
  6. 配置:
    1. 为了防止内存爆满导致系统崩溃,需要设置/etc/redis/*.cnf中的maxmemory
    2. 防止报错,可以调整内存分配策略 
      /etc/sysctl.conf 这个是Redis日志中可以看到的建议:
         添加vm.overcommit_memory=1保存,并执行:sysctl vm.overcommit_memory=1使之生效
      
      /proc/sys/vm/overcommit_memory,这个里面就是overcommit_memory值,这个可以被上面的设置更新.
        0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
        1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
        2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

在完成之后,可以开启Redis,测试下是否正常。

下面测试了给testkey赋值为value:

$ redis-cli
127.0.0.1:6379>set testkey value
OK
127.0.0.1:6379>get testkey
"value"
127.0.0.1:6379>exit
$


(责任编辑:IT)