欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux部署Redis及PHP-redis扩展

程序员文章站 2022-03-28 18:53:15
Redis是一个key-value存储系统,属于我们常说的NoSQL。它遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它常用在缓存、队列、Pub/Sub、计数统计、排行榜、投票与排序等场景。 本文介绍如何在CentOS7上安装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,下载并安装:

1 $ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
2 $ tar -zxvf redis-4.0.9.tar.gz
3 $ mv redis-4.0.9 /usr/local/redis
4 $ cd /usr/local/redis
5 $ make 
6 $ make install

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

启动redis服务

1 $ cd src
2 $ ./redis-server

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

1 $ cd src
2 $ ./redis-server redis.conf

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

1 [root@localhost src]$ ./redis-cli
2 127.0.0.1:6379> ping
3 pong

注意:这里如果出错我门修改下redis.conf

1 $ vim /usr/local/redis/redis.conf
1 daemonize no
2 改为
3 daemonize yes

接下来设置密码和后台运行方式。

1 $ vim /usr/local/redis/redis.conf
2 将
3 requirepass foobared
4 改为
5 requirepass 123321  #你的密码

配置redis服务管理脚本

1 $ cp /usr/local/redis/utils/redis_init_script /etc/init.d/redis

修改redis

1 vim /etc/init.d/redis
3 修改
4 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。

下载并安装最新版

1 $ wget https://github.com/phpredis/phpredis/archive/4.0.2.tar.gz
2 $ tar -zxvf 4.0.2.tar.gz
3 $ cd phpredis-4.0.2
4 $ /usr/local/php/bin/phpize              # php安装后的路径
5 $ ./configure --with-php-config=/usr/local/php/bin/php-config
6 $ make && make install

将redis.so添加到php.ini中

1 $ echo 'extension=redis.so' >> /usr/local/php/etc/php.ini

重启php-fpm服务

1 $ /etc/init.d/php-fpm restart

查看redis扩展是否安装成功

1 $ php -m | grep redis
2 redis

测试

1 <?php
2     //连接本地的 redis 服务
3    $redis = new redis();
4    $redis->connect('127.0.0.1', 6379);
5    $redis->auth('123456');
6    echo "connection to server sucessfully";
7    //查看服务是否运行
8    echo "server is running: " . $redis->ping();

当前,我系统安装的php版本是7.0,实验证明php7.0已经支持redis了。

如果执行phpize时报错: cannot find autoconf. please check your autoconf installation and the $php_autoconf environment variable. then, rerun this script.

解决方法:

安装依赖 autoconf

1 $ yum -y install autoconf