CentOS7安装Redis和PHP-redis扩展

Redis是一个key-value存储系统,属于我们常说的NoSQL。它遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它常用在缓存、队列、Pub/Sub、计数统计、排行榜、投票与排序等场景。

本文介绍如何在CentOS7上安装redis,以及让PHP支持redis的php-redis扩展库。

安装Redis

Redis官方下载地址:http://redis.io/download,下载最新稳定版本。

当前稳定版本是4.0.9,下载并安装:

$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
$ tar -zxvf redis-4.0.9.tar.gz
$ mv redis-4.0.9 /usr/local/redis
$ cd /usr/local/redis
$ make 
$ make install
知识兔

make完后,在redis-4.0.9目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:

启动redis服务

$ cd src
$ ./redis-server
知识兔

注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动。

$ cd src
$ ./redis-server redis.conf
知识兔

redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。 比如:

[root@localhost src]$ ./redis-cli
127.0.0.1:6379> ping
PONG
知识兔

接下来修改redis.conf,设置密码和后台运行方式。

$ vim /usr/local/redis/redis.conf
知识兔

requirepass foobared
知识兔

前面的注释去掉,改成你的密码,如

requirepass 123456
知识兔

daemonize no
知识兔

改为

daemonize yes
知识兔

保存好即可。

配置redis服务管理脚本:

$ cp /usr/local/redis/utils/redis_init_script /etc/init.d/redis
知识兔

修改redis,vim /etc/init.d/redis

CONF="/usr/local/redis/redis.conf"
知识兔

启动redis服务

$ /etc/init.d/redis start
Starting Redis server...
12797:C 30 May 22:53:34.030 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
12797:C 30 May 22:53:34.030 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=12797, just started
12797:C 30 May 22:53:34.031 # Configuration loaded
知识兔

这个时候你就可以看到redis服务以及起来,默认占用6739端口。

安装PHP redis扩展

开始在 PHP 中使用 Redis 前,我们需要确保已经安装了redis服务,且你的机器上能正常使用PHP。 接下来让我们安装 PHP redis 驱动,下载地址为:https://github.com/phpredis/phpredis/releases

下载并安装最新版:

$ wget https://github.com/phpredis/phpredis/archive/4.0.2.tar.gz
$ tar -zxvf phpredis-4.0.2.tar.gz
$ cd phpredis-4.0.2
$ /usr/local/php/bin/phpize              # php安装后的路径
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make && make install
知识兔

将redis.so添加到php.ini中

$ echo 'extension=redis.so' >> /usr/local/php/etc/php.ini
知识兔

重启php-fpm服务

$ /etc/init.d/php-fpm restart
知识兔

查看redis扩展是否安装成功

$ php -m | grep redis
redis
知识兔

测试:

<?php
    //连接本地的 Redis 服务
   $redis = new Redis();
   $redis->connect('127.0.0.1', 6379);
   $redis->auth('123456');
   echo "Connection to server sucessfully";
   //查看服务是否运行
   echo "Server is running: " . $redis->ping();
知识兔

当前,我系统安装的PHP版本是7.2,实验证明PHP7.2已经支持Redis了。

如果执行phpize时报错:Cannot find autoconf. Please check your autoconf installation and the$PHP_AUTOCONF environment variable. Then, rerun this script.

解决方法:

安装依赖 autoconf

$ yum -y install autoconf
知识兔

更多有关Redis的应用以及PHP7中如何使用Redis,请关注本站后面的文章。

计算机