官方参考Nginx 配置Wordpress wp Super Cache缓存插件

官方参考Nginx 配置Wordpress wp Super Cache缓存插件 nginx服务器无法开启wp Super Cache的Mod_Rewrite缓存模式?额,就下面文章来教你吧。 首先介绍下今天的主角:

Nginx

是俄罗斯开发的高性能反向代理服务器。特点是占有内存少,并发能力强,对于静态页面的处理效率已远超同类产品。在国内各大互联网公司也在使用,比如 新浪、网易、 腾讯 等。

WP Super Cache

wordpress官方打造的高速缓存插件,为wordpress生成静态的html文件。 内置的丰富选项也可以方便我们的日常管理。比如缓存文件的列表。缓存权限配置等等。 提供的缓存方式有3种:Mod_Rewrite、PHP、Legacy caching 好了。介绍完毕。下面就是如何对nginx进行配置使我们的wordpress在nginx上使用WP Super Cache的Mod_Rewrite模式。 英语好的同学可以先打开这篇文章看一下:[weblink url="http://codex.wordpress.org/Nginx#WP_Super_Cache_Rules"]wordpress-nginx设置[/weblink]。 不看也没关系。看我接下来的介绍就ok! 我这里的服务器环境:centos5.9+php5.5+nginx1.2.7

首先在wordpress下安装wp Super Cache

我这里用的是当前最新版本1.4版本的 下载地址:[weblink url="http://wordpress.org/plugins/wp-super-cache/download/"]wp Super Cache[/weblink]; 下载完成之后直接丢到/wp-content/plugins/这个目录下面; 这个时候,启用缓存,选择Mod_Rewrite模式。会提示出信息
Mod rewrite 模块可能未安装! 貌似 mod_rewrite 模块尚未安装。也许情况并不是这样,尤其是当您不使用 Apache 作为服务器程序的时候。请检查 mod_rewrite 模块是否被加载。这对于 Super Cache 的静态文件的调用是必需的。不过您可以使用 PHP 缓存模式或者传统模式运行本插件。
重写规则必须被更新 插件需要的重写规则已被更改或者缺失。 滚动查看高级选项卡,找到并点击 更新 Mod_Rewrite 规则 按钮。

接下来我们需要做的是修改nginx重写的规则

# WP Super Cache 设置.
# Designed to be included from a 'wordpress-ms-...' configuration file.
set $cache_uri $request_uri;

# POST 的请求和带参数的请求都通过php处理
if ($request_method = POST) {
        set $cache_uri 'null cache';
}
   
if ($query_string != "") {
        set $cache_uri 'null cache';
}   

# 以下文件不缓存
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
        set $cache_uri 'null cache';
}   

#对于已登录用户不缓存
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
        set $cache_uri 'null cache';
}


# 当其他连接访问Wordpress的时候通过下面的路径找到缓存文件的地址,访问缓存页面
location / {
        try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args ;
}   
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt  { log_not_found off; access_log off; }
 # Cache static files for as long as possible
  location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
           expires max; log_not_found off; access_log off;
   }
[warning] 这里有个问题需要注意下。我的wordpress重写规则文件是单独独立出来的。在网站的配置文件中引入: server { listen 80; server_name www.xxku.net xxku.net; index index.html index.htm index.php; root /home/wwwroot/xxku; include wordpress-wp-super-cache.conf; ......省略...... [/warning] 当我们设置好了以后。需要查看一下nginx的配置文件是否正确。
/usr/local/nginx/sbin/nginx -t
 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
 nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
出现以上命令就说明配置文件没问题了。 现在我们刷新当前页面,右键打开源码。在源码内看到 这样一句话就证明WP-Super-Cache 已经应用了。 在WP-Super-Cache设置的那个页面。出现文章开头所说的那两个提示不用理会。 下面列一下我在WP-Super-Cache设置的勾选选项
√ 启用缓存以便加快访问。 (推荐) √ mod_rewrite 缓存模式。 (推荐) √ 不要为已知用户缓存。 (推荐) √ 不要为 GET 请求缓存。(地址结尾为?x=y) √ 当有新文章或页面的发布或更新时清除之前的缓存文件。 √ 当某页面有新评论时,只刷新该页面的缓存。

转载于:https://my.oschina.net/u/265943/blog/292882

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值