CentOS7安装redis数据库及php-redis扩展
关系型数据库发展到今天,有自身的优点,当然也有他的缺点,于是就有了非关系型数据库。redis就是一种基于key-value的非关系型数据库。微博的一部分实时更新的数据就是保存在redis上,我肿么赶脚,做im,redis貌似很适合哒!
redis
首先把redis安装到服务器中
1.wget http://download.redis.io/redis-stable.tar.gz 下载redis源码,redis是用ansi c语言写的,下载下来的是源码,我大一的时候学 过c语言,所以下载的时候,打开了几个文件看了看,没怎么看懂,,,555555555555555555555
2. tar xvzf redis-stable.tar.gz 解压
3.cd redis-stable
4.make make的时候可能出现问题,我的就出现了异常一
未安装gcc
异常一:
make[2]: cc: Command not found
异常原因:没有安装gcc
解决方案:yum install gcc-c++
异常二:
zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory
异常原因:一些编译依赖或原来编译遗留出现的问题
解决方案:make distclean。清理一下,然后再make。
5.cd src make完后,进入src
6.make test 我又遇到了异常a
未安装tcl
异常a:
couldn’t execute “tclsh8.5″: no such file or directory
异常原因:没有安装tcl
解决方案:yum install -y tcl
7.在make成功以后,会在src目录下多出一些可执行文件:redis-server,redis-cli等等。
用cp命令复制到usr目录下运行。
cp redis-server /usr/local/bin/
cp redis-cli /usr/local/bin/
然后新建目录,存放配置文件
mkdir /etc/redis
mkdir /var/redis
mkdir /var/redis/log
mkdir /var/redis/run
mkdir /var/redis/6379
在redis解压根目录中找到配置文件模板,复制到如下位置。
cp redis.conf /etc/redis/6379.conf
通过vim命令修改
daemonize yes 介个是设置服务在后台运行
pidfile /var/redis/run/redis_6379.pid
logfile /var/redis/log/redis_6379.log
dir /var/redis/6379
8.redis-server /etc/redis/6379.conf 运行redis
9.用telnet测试一下是否安装及启动成功:
telnet localhost 6379
然后set a blog.feehi.com
然后get a 如果正常显示blog.feehi.com就是成功的啦
redis运行成功
接下来,让俺们的php也能使用redis——安装php的redis扩展
1.wget https://codeload.github.com/nicolasff/phpredis/zip/master 下载扩展
2.unzip master 解压
cd phpredis-master 进入
3./usr/bin/phpize 查看信息(环境不一样,phpize位置也不一样,最好whereis phpize找到文件位置),如果报Can’t find PHP headers in /usr/include/php,先安装yum install php-devel
4. ./configure PS:我的php是默认安装的,要是你的php不是默认安装的需要指定一下--with-php-config参数来说明你的php-config文件所在的位置,这个可以使用find来查找一下哦~ 例如我的是这样的./configure --with-php-config=/usr/bin/php-config
5.make && make install PS:这里要注意你的用户和权限哦~
6.vim /etc/php.ini 添加redis扩展配置
7.找到extension_dir的位置在下边添加如下内容:extension=redis.so
8.重启webserver
9.测试php redis扩展是否成功安装:
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$redis->set('f','www.yinzhong.net);
echo $redis->get('f');
?>
如果成功输出www.yinzhong.net就成功咯~~~ps,如果不行的话,可以先暂时关闭防火墙!
redis.php
redis extension