centos 下redis-2.4.7 安装&&编译PhpRedis 到php extention

好久之前就想自己尝试安装redis,这个现在新浪微博广泛使用的nosql,在安装的过程中遇到一些问题,列出来供自己以及有需求的人使用。毕竟mark是个好习惯。

redis-2.4.7 下载

http://code.google.com/p/redis/downloads/list

正式安装

获取到redis-2.4.7.tar.gz后可以拷贝到你喜欢的目录..我选择的是放到/usr/local/webserver/redis/下,以后比较好找,当然要是找whereis redis,应该也可以找到,真不行就find / -name redis :)

解压tar -zvxf redis-2.4.7.tar.gz,切到解压后的目录cd redis*,直接编译 make,巴拉巴拉的一堆信息后完成然后 make test,Redis服务也就安装完成了.

然后测试下启动,$./src/redis-server redis.conf,发现出现问题,原因就是linux的内存分配机制问题,查了下,有三种分配机制,

  • 0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
  • 1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
  • 2,表示内核允许分配超过所有物理内存和交换空间总和的内存

当前的环境配置是0,redis推荐的配置是1,其实那只是一个warning,如果只是为了测试,不是生产环境,忽略也可以。

后续配置

以为此时的配置就结束了?开始我也是这么想,但是结果是令人难受滴,其实redis.conf还没有配置,需要修改的配置主要有:daemonize yes #转为守护进程,否则启动时会每隔5秒输出一行监控信息save 60 1000 #减小改变次数,其实这个可以根据情况进行指定,maxmemory 102400000 #我的vps内存小的可怜,只能分一点点测试下,你机子好越大越好,上次看微博那边的人说跑到64个G…

然后再次启动,$./src/redis-server redis.conf

,发现结果OK了,小小的测试下:

$./src/redis-cli set name lazypeople
$./src/redis-cli get name

:) 其他的指令测试请参考redis 官方

编译phpredis到php的扩展

入门请参见http://skirt.sinaapp.com/?p=110
phpredis项目的主页:https://github.com/owlient/phpredis 到这里下载最新的代码,其实说最新,已经一年多没有更新了。phpredis提供了便捷的操作for redis服务,顺便可以练习下怎么在centos上编译扩展。

首先下载owlient-phpredis-2.1.1-1-g90ecd17.tar.gz ,把文件拷贝到你php源码目录的ext目录下,

$tar -zxvf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz;cd  owlient-phpredis-90ecd17
$/usr/local/php/bin/phpize
$./configure --with-php-config=/usr/local/php/bin/php-config
$make && make install

然后修改php.ini设置,重启php,查看phpinfo();至此就完成了~

  1. ⋶奢侈品网⋶
    MIDO(美度)
    Estée Lauder(雅诗兰黛)
    ROGER DUBUIS(罗杰杜彼)
    YIJIUJIUYI(壹玖玖壹)
    CONVERSE(匡威)
    VX:LOveMeJck