宝塔面板开启Nginx fastcgi_cache缓存为WordPress提速

说到wordpress的缓存,大家想到的肯定是 WP-Super-Cache 的静态html缓存,以及 memcached 或 redis 动态缓存,插件的缓存效果肯定是有的,但是容易出现各种问题,比如配置很复杂、配置全英文、插件之间的冲突等,所以今天我要教大家一个更高级的缓存:Nginx fastcgi_cache缓存,直接在nginx层面缓存页面,还支持缓存伪静态!效果比起传统的php缓存好得太多了,因为很多人使用宝塔面板,所以今天的教程是基于宝塔面板的教程。

宝塔面板开启Nginx fastcgi_cache缓存为WordPress提速

现在宝塔面板都默认编译了 Nginx ngx_cache_purge 模块,所以我们直接跳过安装方法。

Nginx配置

现在我们开始配置nginx,来到宝塔后台,在软件商店找到Nginx,点击设置按钮,在配置修改中添加以下内容:

  1. fastcgi_cache_path /tmp/wpcache levels=1:2 keys_zone=WORDPRESS:250m inactive=1d max_size=1G;
  2. fastcgi_temp_path /tmp/wpcache/temp;
  3. fastcgi_cache_key "$scheme$request_method$host$request_uri";
  4. fastcgi_cache_use_stale error timeout invalid_header http_500;
  5. #忽略一切 nocache 申明,避免不缓存伪静态等
  6. fastcgi_ignore_headers Cache-Control Expires Set-Cookie;

加好之后截图如下:
宝塔面板开启Nginx fastcgi_cache缓存为WordPress提速

网站设置

在宝塔后台的网站列表中,找到你的网站,并且点击设置按钮,将以下代码添加到配置文件中去:

  1. set $skip_cache 0;
  2. #post 访问不缓存
  3. if ($request_method = POST) {
  4. set $skip_cache 1;
  5. }
  6. #动态查询不缓存
  7. if ($query_string != "") {
  8. set $skip_cache 1;
  9. }
  10. #后台等特定页面不缓存(其他需求请自行添加即可)
  11. if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
  12. set $skip_cache 1;
  13. }
  14. #对登录用户、评论过的用户不展示缓存
  15. if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
  16. set $skip_cache 1;
  17. }
  18. #这里请参考你网站之前的配置,特别是sock的路径,弄错了就502了!如果你的网站使用PHP7.4,就写-74.sock
  19. location ~ [^/]\.php(/|$)
  20. {
  21. try_files $uri =404;
  22. fastcgi_pass unix:/tmp/php-cgi-74.sock;
  23. fastcgi_index index.php;
  24. include fastcgi.conf;
  25. add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
  26. #新增的缓存规则
  27. fastcgi_cache_bypass $skip_cache;
  28. fastcgi_no_cache $skip_cache;
  29. add_header X-Cache "$upstream_cache_status From $host";
  30. fastcgi_cache WORDPRESS;
  31. add_header Cache-Control max-age=0;
  32. add_header Nginx-Cache "$upstream_cache_status";
  33. add_header Last-Modified $date_gmt;
  34. add_header X-Frame-Options SAMEORIGIN; # 只允许本站用 frame 来嵌套
  35. add_header X-Content-Type-Options nosniff; # 禁止嗅探文件类型
  36. add_header X-XSS-Protection "1; mode=block"; # XSS 保护
  37. etag on;
  38. fastcgi_cache_valid 200 301 302 1d;
  39. }
  40. #缓存清理配置
  41. location ~ /purge(/.*) {
  42. allow 127.0.0.1;
  43. allow "服务器外网IP"; # 引号要保留
  44. deny all;
  45. fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1";
  46. }

需要注意两点

  1. 网站的PHP版本建议使用7.4。
  2. 缓存清理配置中的 ”服务器外网IP“ 文字需要修改为服务器的IP地址

加好之后的截图如下:

宝塔面板开启Nginx fastcgi_cache缓存为WordPress提速

添加好之后,重载Nginx设置,缓存就加好了,

WordPress清理缓存插件

wp后台搜索 Nginx Helper 插件安装启用,这个插件是为 wordpress fastcgi_cache缓存 打造的一个插件,十分的好用。

判断缓存状态

按 F12 开启开发者工具,在未登录的情况下访问网站首页,查看文件头,如果出现 HIT 则是缓存了,BYPASS 则是因设置原因未缓存,MISS 即这个页面还没被缓存,新发布或刚被删除的页面,首次访问将出现这个状态,如图所示:

宝塔面板开启Nginx fastcgi_cache缓存为WordPress提速

文章链接: https://www.mfisp.com/22712.html

文章标题:宝塔面板开启Nginx fastcgi_cache缓存为WordPress提速

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
运维技术

Linux虚拟机-使用命令行管理虚拟机

2023-8-1 16:06:25

运维技术

Windows下安全权限设置详解

2023-10-7 9:51:02

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
客户经理
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

梦飞科技 - 最新云主机促销服务器租用优惠