WordPress网站速度优化之Nginx fastcgi_cache缓存

基于宝塔面板的“配置 Nginx fastcgi_cache缓存”,适用于WordPress网站前端优化,后端建议大家使用memcached/redis来优化数据库即可

宝塔默认已安装好ngx_cache_purge模块

nginx -V 2>&1 | grep -o ngx_cache_purge

查看ngx_cache_purge是否安装,没有数据表示未安装

所以我没只需要通过修改网站配置文件来启用此模块。选择对应网站,点击设置,修改配置文件即可

1.ngx_cache_purge模块配置

1.1设置缓存路径

文件缓存还是内存缓存?

  • 在fastcgi_cache_path中,可以将它设置为内存路径,例如:/dev/shm/nginx-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m;,如果你的磁盘IO很慢的话建议采用此方式,毕竟内存的读写速度非常快。
  • 当然,你也可以使用文件缓存路径:/tmp/wpcache/temp
    • 首先创建缓存目录,这里用的是文件缓存,也可选择内存缓存,我机子内存小,具体根据个人所需嘛
    • mkdir -p /tmp/wpcache/temp

选择好了以后,需要在对应的目录(/dev/shm或者/tmp)下创建对应的文件夹temp

1.2缓存密钥

就是keys_zone=WORDPRESS中的WORDPRESS,你可以设置为自己喜欢的,但注意配置中需保持一致,每一个网站设置一个专用的

2.服务器配置Nginx fastcgi_cache

2.1选择设置站点

首先,将以下代码复制到网站配置文件顶部

#下面 2 行的中的 wpcache 路径请自行提前创建,否则可能会路径不存在而无法启动 nginx,max_size 请根据分区大小自行设置
fastcgi_cache_path /tmp/wpcache levels=1:2 keys_zone=WORDPRESS:250m inactive=1d max_size=1G;
fastcgi_temp_path /tmp/wpcache/temp;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache_use_stale error timeout invalid_header http_500;
#忽略一切 nocache 申明,避免不缓存伪静态等
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
#Ps:如果是多个站点,以上内容不要重复添加,否则会冲突,可以考虑将以上内容添加到 nginx.conf 里面,避免加了多次。

2.2缓存设置

然后在server字段下添加下方代码,我自己这边是添加在 #SSL-END下方:

注意

1)add_header Cache-Control如果是动态内容要实时更新的话,可以设置为0,否则可以设置时间大一些,单位是秒。

2)sock的路径一定要填对,否则会出现502错误,关于sock,直接去/tmp/目录下查看对应的文件即可,类似本站得的php-cgi-74.sock;

3)代码里面的服务器公网IP换成你的服务器公网IP。

WORDPRESS 和最上方的 keys_zone= 一致即可

启用fastcgi_cache缓存时,发现在Nginx配置文件中添加了Cache-Control信息,但是总是不生效。HTTP头部信息会总会包含以下信息:

Cache-Control: no-store,no-cache,must-revalidate,post-check=0,pre-check=0 和 Pragma: no-cache

修改宝塔面板中php配置文件中的关键词session.cache_limiter,默认值是 nocache ,将它设置为none即可

session.cache_limiter=none
图片[1]-WordPress网站速度优化之Nginx fastcgi_cache缓存-辰安博客

3.WordPress缓存处理配置

3.1插件版本

进入WordPress 后台插件安装界面搜索 Nginx Helper 关键词在线安装即可

1)开启purge,选择nginx Fastcgin cahe,因为就我们用就是这个缓存。

2)选择 Delete local server cache files。当然第一个也可以用,但是一般推荐用Delete local server cache files,因为每个服务器的环境都不一样,缓存路径也会不尽相同就会导致插件无法找到缓存文件并删除!

图片[2]-WordPress网站速度优化之Nginx fastcgi_cache缓存-辰安博客

3)插件下面还提供了其它的一些设置,功能非常丰富,例如发表新文章、新评论时是否更新Nginx缓存等,根据自己需要勾选即可。

图片[3]-WordPress网站速度优化之Nginx fastcgi_cache缓存-辰安博客

3.2插件法注意事项

由于插件作者定义的缓存路径是 /var/run/nginx-cache ,而我们可能会根据服务器实际情况来自定义缓存路径,这样一来,缓存路径的不同就会导致插件无法找到缓存文件并删除。

添加以下代码到WordPress根目录的wp-config.php文件中。

提示-根据实际情况定义缓存的存放路径

define( 'RT_WP_NGINX_HELPER_CACHE_PATH','/tmp/wpcache');

4. 权限设置

open_basedir=/www/wwwroot/blog.luoca.net/:/tmp/:/tmp/wpcache/
版权声明

   站内部分内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供网络资源分享服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请 联系我们 一经核实,立即删除。并对发布账号进行永久封禁处理。在为用户提供最好的产品同时,保证优秀的服务质量。


本站仅提供信息存储空间,不拥有所有权,不承担相关法律责任。
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容