九分地,虽不多,但足矣
www.9fendi.com

WordPress高速缓存之开启Nginx Fastcgi_Cache

Nginx的Fastcgi_Cache缓存,将整个页面全部静态保存,没有任何动态查询之类的动作。访问缓存页面的时候,Nginx不再通过php,而是直接把缓存的静态页面丢到用户面前。所以安装了Fastcgi_Cache后,之前用的什么WP Super Cache,WP Fastest Cache之类的PHP缓存插件统统可以去掉,甚至连memcached也可以不用安装了,好处可想而知。

Fastcgi_Cache的安装与配置

一、安装ngx_cache_purge模块

1.1 查看是否安装

如果显示ngx_cache_purge表示已经安装,什么都没显示,表示没有安装此模块。
1.2 安装模块
在《OneinStack》和《lnmp一键安装包》下安装ngx_cache_purge模块

二、配置Nginx

2.1 进入/usr/local/nginx/conf/vhost/ 找到你站点的.conf文件,修改里面的配置。
以张戈博客里的配置为例

请仔细阅读配置里的注释,根据自己的具体情况修改,特别注意地址、路径、ip

输入/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
执行/usr/local/nginx/sbin/nginx -s reload 重新载入配置文件使其生效。

2.2 在WordPress 根目录下的 wp-config.php 中新增如下代码:

三、配合Nginx Fastcgi_Cache的插件安装

Nginx Helper是启用Fastcgi_Cache后配合WordPress量身定做的缓存清理插件。
3.1 后台插件搜索Nginx Helper安装并启用。
Nginx Helper配置

3.2 调试

测试时候勾选Nginx Helper设置里的 Enable Logging(记录日志)、Enable Nginx Timestamp in HTML(插入缓存信息)
查看Nginx Helper是否刷新日志,最直观的方法多打开几个页面,然后查看/tmp/wpcache这个缓存目录里是否在增加内容。

四、善后,解决缓存开启后出现的不足之处

Fastcgi_Cache是将整个页面完全静态化了,会出现以下问题:
1.文章统计阅读量
2.如果你在登陆状态回复评论,会缓存登陆界面
3.会缓存上一个发表评论人的账号邮箱信息
4.1解决文章统计阅读量
进入WP-PostViews插件设置界面
Use AJAX To Update Views: 这个选项选择 yes
在wordpress根目录下的wp-config.php里添加下面代码

利用ajax调用来解决统计数量。
4.2解决缓存登陆界面
修改评论模板,比如comments.php,屏蔽登录态模块,所有人都作为游客处理。
4.3解决会缓存上一个发表评论人的账号邮箱信息
利用ajax+cookies来记住用户信息,参考 https://www.9fendi.com/692.html

 

赞(0)
9Fendi Blog » WordPress高速缓存之开启Nginx Fastcgi_Cache
分享到: 更多 (0)

评论 抢沙发