虚位以待(AD)
虚位以待(AD)
首页 > CMS教程 > WordPress > openresty使用Redis+SRcache加速wordpress

openresty使用Redis+SRcache加速wordpress
类别:WordPress   作者:码皇   来源:互联网   点击:

众所周知Redis具有轻量级,持久化,高速存取等优点,具有跨平台的特性 而这里我们做的就是使用SRcache将PHP内容直接缓存到Redis里减轻后端服务器的压力,提高后端响应速度 SRcache模块为缓存提供了一个整合后端存储 ,魔客吧

众所周知Redis具有轻量级,持久化,高速存取等优点,具有跨平台的特性.而这里我们做的就是使用SRcache将PHP内容直接缓存到Redis里减轻后端服务器的压力,提高后端响应速度.

SRcache模块为缓存提供了一个整合后端存储的能力,可以配合Redis使用.如果Redis访问没命中,则发起一个后端请求,获取到数据之后自动缓存到Redis,下次访问将直接调用Redis中的缓存.

OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,由中国人章亦春发起,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关.

WordPress没优化前当用户访问页面的时候需要经过PHP,数据库等.而当使用了SRcache以后,用户的访问请求则是直接访问了缓存,大大的加快了响应时间.

安装好环境后,将下面的规则添加到主机的配置文件.这里环境的安装我选择了linuxeye一键包.可以直接一键安装好所需要环境.

在Http段添加下面这段代码:

upstream redis {
server 127.0.0.1:6379;
keepalive 512;
}

Server段:

    set $skip_cache 0;
#POST请求直接调用后端 if ($request_method = POST) {
set $skip_cache 1;
}
if ($query_string != "") {
set $skip_cache 1;
}
#不要缓存以下部分 if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
set $skip_cache 1;
}
#不缓存登陆用户和最近评论的用户 if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
set $skip_cache 1;
}
location /redis-fetch {
internal ;
set $redis_key $args;
redis_pass redis;
}
location /redis-store {
internal ;
set_unescape_uri $key $arg_key ;
redis2_queryset $key $echo_request_body;
redis2_queryexpire $key 14400;
redis2_pass redis;
}
location ~ .*.(php|php5)?$ {
set $key "nginx-cache:$scheme$request_method$host$request_uri";
try_files $uri =404;
srcache_fetch_skip $skip_cache;
srcache_store_skip $skip_cache;
srcache_response_cache_controloff;
set_escape_uri $escaped_key $key;
srcache_fetchGET /redis-fetch $key;
srcache_storePUT /redis-storekey=$escaped_key;
more_set_headers 'X-Cache $srcache_fetch_status';
more_set_headers 'X-Store $srcache_store_status';
#下面这些不用添加 #fastcgi_pass remote_php_ip:9000;
fastcgi_passunix:/dev/shm/php-cgi.sock;
fastcgi_indexindex.php;
includefastcgi.conf;
}

重启OpenResty即可生效,但是还有一个缺点就是当我们发布新文章,修改文章,通过评论,修改评论时无法自动更新缓存.

WordPress插件Nginx Helper可以当我们发布新文章,修改文章,通过评论,修改评论自动清理缓存.可以通过在Wordpress后台安装这个插件,直接搜索Nginx Helper即可.

openresty使用Redis+SRcache加速wordpress

相关热词搜索: openresty使用Redis+SRcache加速wordpress