环境说明:

系统版本    CentOS 6.9 x86_64        

软件版本    nginx-1.12.2        php-5.5.38        yum安装redis3.2.11    

php扩展redis 2.2.8    

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、 list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步,当前 Redis的应用已经非常广泛,国内像新浪、淘宝,国外像 Flickr、Github等均在使用Redis的缓存服务。

1、数据库服务器配置redis

[[email protected] ~]# yum install -y redis

[[email protected] ~]# vim /etc/redis.conf    #修改配置文件,设置数据库服务器的地址已经密码

61行 bind 192.168.1.51

480行 requirepass 123456

[[email protected] ~]# /etc/init.d/redis start        #启动服务

Starting redis-server: [ OK ]

[[email protected] ~]# netstat -lntup|grep 6379    #检查,默认使用6379端口

tcp 0 0 192.168.1.51:6379 0.0.0.0:* LISTEN 1978/redis-server

可以使用命令行查看相关缓存信息

[[email protected] ~]# redis-cli -h 192.168.1.51 -p 6379 -a 123456

192.168.1.51:6379> info

# Server

redis_version:3.2.11

redis_git_sha1:00000000

redis_git_dirty:0

redis_build_id:6ad59081ae574f13

redis_mode:standalone

os:Linux 2.6.32-696.el6.x86_64 x86_64

arch_bits:64

multiplexing_api:epoll

gcc_version:4.4.7

process_id:1978

run_id:9a86c3672b97884d10e0b67f767cde1d96334405

tcp_port:6379

uptime_in_seconds:557

2、web服务器配置redis

从官方网站下载源码包或本地上传http://pecl.php.net/package/redis其中版本号为3以上的是用于php7以上的,这里我们下载2.2.8版本

[[email protected] html]# cd /service/tools/

[[email protected] html]# wget http://pecl.php.net/package/redis/2.2.8     #下载源码包

[[email protected] tools]# tar xf redis-2.2.8.tgz    #解压

[[email protected] tools]# cd redis-2.2.8

[[email protected] redis-2.2.8]# ls

arrays.markdown config.m4 library.c redis_array.h redis_cluster.h tests

cluster_library.c config.w32 library.h redis_array_impl.c redis_commands.c

cluster_library.h COPYING php_redis.h redis_array_impl.h redis_commands.h

cluster.markdown crc16.h README.markdown redis.c redis_session.c

common.h CREDITS redis_array.c redis_cluster.c redis_session.h

[[email protected] redis-2.2.8]# /application/php/bin/phpize

#检查编译环境,不做检查不能执行./configure

Configuring for:

PHP Api Version: 20121113

Zend Module Api No: 20121212

Zend Extension Api No: 220121212

[[email protected] redis-2.2.8]# ./configure --with-php-config=/application/php/bin/php-config --enable-redis    #编译

[[email protected] redis-2.2.8]# make && make install

[[email protected] ~]# ls /application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/

memcache.so opcache.a opcache.so redis.so

[[email protected] memcache-2.2.7]# find /application/php5.5.38/ -name "php.ini"

/application/php5.5.38/etc/php.ini    #找出php配置文件php.ini的路径,默认在etc下,需要拷贝至lib下

[[email protected] memcache-2.2.7]#

cp /application/php5.5.38/etc/php.ini /application/php5.5.38/lib/php.ini

[[email protected] ~]# vim /application/php5.5.38/lib/php.ini        #修改配置文件

修改718行的内容指定扩展模块的路径并添加一行指定扩展模块名称

718 extension_dir = "/application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/"

719 extension = "redis.so"

[[email protected] tools]# pkill php-fpm

[[email protected] tools]# /application/php/sbin/php-fpm

[[email protected] tools]# /application/php/bin/php -m|grep redis

redis

3、浏览器端检查

以discuz为例

重新访问刷新,进入管理中心——>全局———>性能优化——>内存优化,可以看到已经生效

4、配置开启服务器优化

编辑站点目录下config_global.php文件

[[email protected] discuz]# pwd

/application/nginx/html/discuz

[[email protected] discuz]# vim config/config_global.php

$_config['memory']['redis']['server'] = '192.168.1.51';        #指定服务器地址

$_config['memory']['redis']['requirepass'] = '123456';        #指定密码

浏览器刷新再次访问,此时已经可以支持redis

5、安装并配置redis管理界面phpRedisAdmin

5.1、下载安装包并解压到站点目录

官方地址位于github上面https://github.com/ErikDubbelboer/phpRedisAdmin

可以使用github的下载方式git clone到本地,或者直接下载zip包到本地都可以,在使用git clone命令前需要执行

yum install git -y安装git

[[email protected] phpredisadmin]# unzip phpRedisAdmin-master.zip

下载完成这个包并没有完全下载,我们可以查看README.markdown文件内容,里面有指出还需要下载另外一个包

[[email protected] phpredisadmin]# cat README.markdown

git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git

cd phpRedisAdmin

git clone https://github.com/nrk/predis.git vendor

5.2、修改配置文件

[[email protected] phpredisadmin]# cd includes/

[[email protected] includes]# cp config.sample.inc.php config.inc.php

[[email protected] includes]# vim config.inc.php    可以在此配置管理多台服务器(即重复相同选项,修改服务器ip及密码)

'host' => '192.168.1.51',    #指定主机地址

'auth' => '123456'    #指定密码

5.3、修改nginx配置文件指定站点目录及域名并平滑重启

[[email protected] memadmin]# nginx -t

nginx: the configuration file /application/nginx-1.12.2/conf/nginx.conf syntax is ok

nginx: configuration file /application/nginx-1.12.2/conf/nginx.conf test is successful

[[email protected] memadmin]# nginx -s reload

5.4、浏览器访问