环境说明:
系统版本 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
[root@db01 ~]# yum install -y redis
[root@db01 ~]# vim /etc/redis.conf #修改配置文件,设置数据库服务器的地址已经密码
61行 bind 192.168.1.51
480行 requirepass 123456
[root@db01 ~]# /etc/init.d/redis start #启动服务
Starting redis-server: [ OK ]
[root@db01 ~]# netstat -lntup|grep 6379 #检查,默认使用6379端口
tcp 0 0 192.168.1.51:6379 0.0.0.0:* LISTEN 1978/redis-server
可以使用命令行查看相关缓存信息
[root@db01 ~]# 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版本
[root@Web01 html]# cd /service/tools/
[root@Web01 html]# wget http://pecl.php.net/package/redis/2.2.8 #下载源码包
[root@Web01 tools]# tar xf redis-2.2.8.tgz #解压
[root@Web01 tools]# cd redis-2.2.8
[root@Web01 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
[root@Web01 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
[root@Web01 redis-2.2.8]# ./configure --with-php-config=/application/php/bin/php-config --enable-redis #编译
[root@Web01 redis-2.2.8]# make && make install
[root@Web01 ~]# ls /application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/
memcache.so opcache.a opcache.so redis.so
[root@Web01 memcache-2.2.7]# find /application/php5.5.38/ -name "php.ini"
/application/php5.5.38/etc/php.ini #找出php配置文件php.ini的路径,默认在etc下,需要拷贝至lib下
[root@Web01 memcache-2.2.7]#
cp /application/php5.5.38/etc/php.ini /application/php5.5.38/lib/php.ini
[root@Web01 ~]# 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"
[root@Web01 tools]# pkill php-fpm
[root@Web01 tools]# /application/php/sbin/php-fpm
[root@Web01 tools]# /application/php/bin/php -m|grep redis
redis
3、浏览器端检查
以discuz为例
重新访问刷新,进入管理中心——>全局———>性能优化——>内存优化,可以看到已经生效
4、配置开启服务器优化
编辑站点目录下config_global.php文件
[root@Web01 discuz]# pwd
/application/nginx/html/discuz
[root@Web01 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
[root@Web01 phpredisadmin]# unzip phpRedisAdmin-master.zip
下载完成这个包并没有完全下载,我们可以查看README.markdown文件内容,里面有指出还需要下载另外一个包
[root@Web01 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、修改配置文件
[root@Web01 phpredisadmin]# cd includes/
[root@Web01 includes]# cp config.sample.inc.php config.inc.php
[root@Web01 includes]# vim config.inc.php 可以在此配置管理多台服务器(即重复相同选项,修改服务器ip及密码)
'host' => '192.168.1.51', #指定主机地址
'auth' => '123456' #指定密码
5.3、修改nginx配置文件指定站点目录及域名并平滑重启
[root@Web01 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
[root@Web01 memadmin]# nginx -s reload
5.4、浏览器访问
博主原创文章,转载请务必注明出处