WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

WordPress nginx缓存设置

查看 WP集市 的更多文章WP集市 2025-09-08 【WordPress教程】 615人已围观

  1. 咱先唠唠WordPress整nginx缓存这事儿。你想啊,每次有人看你网站,服务器都得吭哧吭哧从数据库扒拉数据,再组装成网页,累不累?缓存就是把成品网页存起来,下回直接端出去,省劲!nginx就是个超级服务员,能帮咱把页面存内存或硬盘里,访问速度直接起飞。

  2. 基础配置得先搞个缓存路径。打开nginx配置文件(一般是 /etc/nginx/nginx.conf),在http区块塞进去这些:

http {
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=wordpress_cache:100m inactive=60m;
    proxy_cache_key "$scheme$request_method$host$request_uri";
}

这好比给仓库划了块地儿,keys_zone是给缓存区起个名,100M大小,60分钟没人访问的缓存自动清理。

  1. 接着到server区块(站点配置文件里),给WordPress加缓存规则。重点伺候静态文件!图片CSS这些不用总重新生成:
server {
    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

expires告诉浏览器能本地缓存30天,immutable表示这文件永不变,别来回问服务器了。

  1. 动态页面缓存得小心点。别把登录后的页面存了,否则所有人看到都是同一个用户界面!得用这招区分:
location / {
    proxy_cache wordpress_cache;
    proxy_cache_valid 200 302 10m;
    proxy_cache_bypass $cookie_wordpress_logged_in;
    add_header X-Cache-Status $upstream_cache_status;
}

proxy_cache_bypass检查WordPress登录cookie,只要存在就不缓存。那个X-Cache-Status头很方便,能在浏览器开发者工具里看到命中缓存没有。

  1. 有时候你想立刻更新缓存,比如发了新文章。可以设置nginx收到后台操作时跳过缓存:
location ~ /wp-admin/ {
    proxy_cache_bypass 1;
    proxy_no_cache 1;
}

这样后台任何操作都不会被缓存,避免出现页面更新了缓存还是旧内容。

  1. 高级玩法可以用map指令更精细控制:
map $cookie_wordpress_logged_in $bypass_cache {
    default 0;
    ~^wordpress_logged_in 1;
}

然后在location里用proxy_cache_bypass $bypass_cache;,这逻辑更清晰——检测到登录cookie就跳过缓存。

  1. 最后记得测试配置再重启nginx:
    nginx -t && systemctl reload nginx

    用curl或者浏览器检查响应头,看到X-Cache-Status: HIT就说明缓存成功了!

缓存不是一劳永逸,得根据实际访问量调整缓存时间。小型站点10分钟缓存足够,大流量站点可能得按小时计。观察服务器负载和内存使用量,慢慢调教到最佳状态。毕竟服务器资源就像咖啡,得省着点喝才能撑得住突然涌进来的人群。

Tags:

WordPress模板插件定制

WP集市

V管理员
文章 723 篇 | 评论 0 次
最新文章