linux安装redis和php配置redis扩展

  • PHP
  • Feb 15, 2019
摘要:linux安装redis和php配置redis扩展。

redis是一个key => value的数据库,它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

redis官网:https://redis.io/,学习的话可以看看菜鸟教程:http://www.runoob.com/redis/redis-tutorial.html,基本的命令,方法都有,练习下。

下载 && 解压 && 重命名

[root@host ~]# cd /usr/local/
[root@host local]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz
[root@host local]# tar zxf redis-5.0.3.tar.gz
[root@host local]# mv redis-5.0.3 redis
[root@host local]# rm -rf redis-5.0.3.tar.gz

我是将这里下载的redis是稳定版本的,解压后为了方便将redis-5.0.3重名为redis,然后删除源码包。

进入redis文件夹

[root@host local]# cd redis/
[root@host redis]# ll
total 248
-rw-rw-r--  1 root root 92434 Dec 12 07:25 00-RELEASENOTES
-rw-rw-r--  1 root root    53 Dec 12 07:25 BUGS
-rw-rw-r--  1 root root  1894 Dec 12 07:25 CONTRIBUTING
-rw-rw-r--  1 root root  1487 Dec 12 07:25 COPYING
drwxrwxr-x  6 root root  4096 Dec 12 07:25 deps
-rw-rw-r--  1 root root    11 Dec 12 07:25 INSTALL
-rw-rw-r--  1 root root   151 Dec 12 07:25 Makefile
-rw-rw-r--  1 root root  4223 Dec 12 07:25 MANIFESTO
-rw-rw-r--  1 root root 20555 Dec 12 07:25 README.md
-rw-rw-r--  1 root root 62155 Dec 12 07:25 redis.conf
-rwxrwxr-x  1 root root   275 Dec 12 07:25 runtest
-rwxrwxr-x  1 root root   280 Dec 12 07:25 runtest-cluster
-rwxrwxr-x  1 root root   281 Dec 12 07:25 runtest-sentinel
-rw-rw-r--  1 root root  9710 Dec 12 07:25 sentinel.conf
drwxrwxr-x  3 root root  4096 Dec 12 07:25 src
drwxrwxr-x 10 root root  4096 Dec 12 07:25 tests
drwxrwxr-x  8 root root  4096 Dec 12 07:25 utils

查看可以发现由于makefile文件已经写好,我们只需要直接在源码目录执行make命令进行编译即可。

make && make isntall

[root@host redis]# make
[root@host redis]# make install
.
.
.
cd src && make install
make[1]: Entering directory `/usr/local/redis/src'
    CC Makefile.dep
make[1]: Leaving directory `/usr/local/redis/src'
make[1]: Entering directory `/usr/local/redis/src'

Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
make[1]: Leaving directory `/usr/local/redis/src'

make完成后,应该进入src文件中执行make install命令,不够没有关系,redis已经自动帮我们cd src && make install了。

然后redis根目录中:

redis.conf是redis的配置文件。

然后进入src目录中:

redis-server:Redis服务器的daemon启动程序

redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作

redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能

建立目录移动相关配置文件,是为了方便将redis相关的资源统一管理(非必须)

[root@host redis]# mkdir conf bin
[root@host redis]# cp redis.conf conf/redis.conf
[root@host redis]# cd src/
[root@host src]# cp redis-benchmark redis-cli redis-server ../bin

将redis.conf移动至/usr/local/redis/conf/文件夹中,然后将其它redis-server、redis-cli、redis-benchmark、redis-stat文件移动至/usr/local/redis/bin/文件夹中。

启动redis

[root@host redis]# ./bin/redis-server
17583:C 16 Feb 2019 01:53:53.350 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
17583:C 16 Feb 2019 01:53:53.350 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=17583, just started
17583:C 16 Feb 2019 01:53:53.350 # Warning: no config file specified, using the default config. In order to specify a config file use ./bin/redis-server /path/to/redis.conf
17583:M 16 Feb 2019 01:53:53.353 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 5.0.3 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 17583
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

17583:M 16 Feb 2019 01:53:53.357 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
17583:M 16 Feb 2019 01:53:53.357 # Server initialized
17583:M 16 Feb 2019 01:53:53.357 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
17583:M 16 Feb 2019 01:53:53.357 * Ready to accept connections

redis启动成功,./bin/redis-server这种方式启动使用的默认配置,我们如果用./bin/redis-server ./conf/redis.conf就是指定配置文件启动。redis的默认端口是6379。

打开一个新的终端测试redis

[root@host ~]# cd /usr/local/redis/bin/
[root@host bin]# redis-cli 
127.0.0.1:6379> set name yangzhenhua
OK
127.0.0.1:6379> get name
"yangzhenhua"
127.0.0.1:6379>

测试正常,由于redis不是在后台运行,所以我们需要再次打开一个终端来测试redis,接下来我们修改配置文件切换到后台启动。

切换后台启动reids服务

[root@host redis]# vim conf/redis.conf
.
.
.
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
#daemonize no
daemonize yes
.
.
.

大概在136行,找到daemonize配置将其no改为yes,意思是需要再后台运行redis。然后返回到之前的终端ctrl + c退出,然后再次用bin/redis-server  conf/redis.conf 命令启动就好,这次就是在后台运行,然后再次用redis-cli测试下,一切正常。

redis的启动,关闭脚本是 /usr/local/redis/utils/redis_init_script 这个文件,大家可以编辑下这个文件,然后将这个文件设置下快捷启动和停止服务。

接下来就是php配置redis扩展了...

php的redis扩展下载地址:http://pecl.php.net/package/redis

下载redis扩展 && 解压

[root@host redis]# cd /home/download/
[root@host download]# wget http://pecl.php.net/get/redis-4.2.0.tgz
[root@host download]# tar zxf redis-4.2.0.tgz

我直接下载的最新版,大家可根据实际情况自行下载版本。

生成configure文件

[root@host download]# cd redis-4.2.0
[root@host redis-4.2.0]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20180731
Zend Module Api No:      20180731
Zend Extension Api No:   320180731
[root@host redis-4.2.0]#

查看下当前目录,此时已经正常生成configure文件。

编译安装

[root@host redis-4.2.0]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@host redis-4.2.0]# make && make install
.
.
.
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/
[root@host redis-4.2.0]#

安装完成,然后打开php.ini文件,加入redis扩展

[root@host redis-4.2.0]# vim /usr/local/php/etc/php.ini
.
.
.
extension=redis.so
.
.
.

保存退出,然后打开phpinfo()页面,查看是否存在redis扩展?

TIM截图20190216162123.jpg

ok!redis扩展已经成功加入,我们新建一个页面php文件来测试redis是否可以正常使用。

测试redis是否可以正常使用

<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('test_name', 'hello redis!');
echo $redis->get('test_name');

打开页面看见“hello redis!”就成功了,剩下的就可以进行各种测试和学习redis了。还有如果大家不想装redis也可以通过http://try.redis.io/来学习和使用reids的一些方法。

革命尚为成功,同志仍需努力。

结束语:感谢您对本网站文章的浏览,欢迎您的分享和转载,但转载请说明文章出处。
Top