宝塔面板开启nginx Fastcgi_cache缓存为wordpress提速

编程之家收集整理的这篇文章主要介绍了宝塔面板开启nginx Fastcgi_cache缓存为wordpress提速编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

说到wordpress的缓存,大家想到的肯定是 WP-Super-Cache 的静态html缓存,以及 memcached 或 redis 动态缓存,插件的缓存效果肯定是有的,但是容易出现各种问题,比如配置很复杂、配置

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

全局设置

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

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;

网站设置

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

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;
}
#这里参考网站之前的配置,特别是sock的路径,弄错了就502了!如果你的网站使用PHP7.4,就写-74.sock
location ~ [^/]\.PHP(/|$)
{
    try_files $uri =404;
    fastcgi_pass unix:/tmp/php-cgi-74.sock;
    fastcgi_index index.PHP;
    include fastcgi.conf;  
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
    #新增的缓存规则
    fastcgi_cache_bypass $skip_cache;
    fastcgi_no_cache $skip_cache;
    add_header X-Cache "$upstream_cache_status From $host";
    fastcgi_cache wordpress;
    add_header Cache-Control  max-age=0;
    add_header Nginx-Cache "$upstream_cache_status";
    add_header Last-ModifIEd $date_gmt;
    add_header x-frame-options SAMEORIGIN; # 只允许本站用 frame 来嵌套
    add_header X-Content-Type-Options nosniff; # 禁止嗅探文件类型
    add_header X-XSS-Protection "1; mode=block"; # XSS 保护
    etag  on;
    fastcgi_cache_valID 200 301 302 1d;
}
#缓存清理配置
location ~ /purge(/.*) {
allow 127.0.0.1;
allow "服务器外网IP"; # 引号要保留
deny all;
fastcgi_cache_purge wordpress "$scheme$request_method$host$1";
}

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

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

缓存命中!

总结

以上是编程之家为你收集整理的宝塔面板开启nginx Fastcgi_cache缓存为wordpress提速全部内容,希望文章能够帮你解决宝塔面板开启nginx Fastcgi_cache缓存为wordpress提速所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

wordpress文章

网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,robots默认都是放在网站根目录。
Gravatar头像是全球通用头像,如果你在Gravatar的网站注册一个头像,只要是在支持Gravatar的博客或者网站评论或者留言时关联注册Gravatar头像的邮箱地址,都会显示你注册的头像,如果你没在Gravatar网站注册头像,会
wordPress几乎是世界上最安全的开源程序,但其后台登录注册的地址始终是众所周知的,所以不少人觉得隐藏wordpress的登录地址后可能会更加安全。
说到wordpress的缓存,大家想到的肯定是 WP-Super-Cache 的静态html缓存,以及 memcached 或 redis 动态缓存,插件的缓存效果肯定是有的,但是容易出现各种问题,比如配置很复杂、配置
知乎文章内可以嵌入展示相关文章的卡片式内链:参考了其他博客的方案,拿来自用。主要利用WordPress短代码功能,给文章添加卡片式内链,更美观的引用展示相关文章,尽量挽留误入访客,绕晕访客不买机机不给走。
我们有时候在定制WORDPRESS主题的时候,由于菜单样式的要求我们需要给我们的WordPress获取到的菜单中的UL下的某一个或某几个LI添加自定义的类,比如...
我们在做网站的时候经常会用到缩略图,比如产品列表,缩略图肯定是有一个长宽值或长宽比的,如果让图片宽度100%,高度一定值,超出高度的隐藏不显示,这样的话图片显示...
给客户定制了这么多年的WORDPRESS网站,当主题需要多个分类模板的时候,之前基本都是通过分类ID判断来调用不同的分类模板文件,但是通过分类ID判断的时候一直...
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注