欢迎光临杨雨的个人博客站!

杨雨个人网站-杨雨个人博客-杨照佳

杨雨个人博客网站

关注互联网和搜索引擎的个人博客网站

首页 > cms使用教程 > wordpress使用教程 >

openresty使用Redis+SRcache加速wordpress

发布时间:2016-11-13  编辑:杨雨个人博客网站   点击:   

众所周知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

本文地址:http://itbyc.com/cms/wordpress/12891.html
转载请注明出处。
分享是一种快乐,也是一种美德:
博客首页 | WEB开发 | 网站运营 | CMS使用教程 滇ICP备14002061号-1