環境說明: php
系統版本 CentOS 6.9 x86_64 html
軟件版本 nginx-1.12.2 php-5.5.38 yum安裝redis3.2.11 nginx
php擴展redis 2.2.8 git
Redis是一個key-value存儲系統。和Memcached相似,它支持存儲的value類型相對更多,包括string(字符串)、 list(鏈表)、set(集合)和zset(有序集合)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操做,並且這些操做都是原子性的。在此基礎上,redis支持各類不一樣方式的排序。與memcached同樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操做寫入追加的記錄文件,而且在此基礎上實現了master-slave(主從)同步,當前 Redis的應用已經很是普遍,國內像新浪、淘寶,國外像 Flickr、Github等均在使用Redis的緩存服務。 github
一、數據庫服務器配置redis web
[root@db01 ~]# yum install -y redis redis
[root@db01 ~]# vim /etc/redis.conf #修改配置文件,設置數據庫服務器的地址已經密碼數據庫
61行 bind 192.168.1.51 vim
480行 requirepass 123456 api
[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
二、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
三、瀏覽器端檢查
以discuz爲例
從新訪問刷新,進入管理中心——>全局———>性能優化——>內存優化,能夠看到已經生效
四、配置開啓服務器優化
編輯站點目錄下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
五、安裝並配置redis管理界面phpRedisAdmin
5.一、下載安裝包並解壓到站點目錄
官方地址位於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.二、修改配置文件
[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.三、修改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.四、瀏覽器訪問
博主原創文章,轉載請務必註明出處