
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress nginx缓存设置
WP集市
2025-09-08
【WordPress教程】
615人已围观
-
咱先唠唠WordPress整nginx缓存这事儿。你想啊,每次有人看你网站,服务器都得吭哧吭哧从数据库扒拉数据,再组装成网页,累不累?缓存就是把成品网页存起来,下回直接端出去,省劲!nginx就是个超级服务员,能帮咱把页面存内存或硬盘里,访问速度直接起飞。
-
基础配置得先搞个缓存路径。打开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分钟没人访问的缓存自动清理。
- 接着到server区块(站点配置文件里),给WordPress加缓存规则。重点伺候静态文件!图片CSS这些不用总重新生成:
server {
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
}
expires
告诉浏览器能本地缓存30天,immutable
表示这文件永不变,别来回问服务器了。
- 动态页面缓存得小心点。别把登录后的页面存了,否则所有人看到都是同一个用户界面!得用这招区分:
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
头很方便,能在浏览器开发者工具里看到命中缓存没有。
- 有时候你想立刻更新缓存,比如发了新文章。可以设置nginx收到后台操作时跳过缓存:
location ~ /wp-admin/ {
proxy_cache_bypass 1;
proxy_no_cache 1;
}
这样后台任何操作都不会被缓存,避免出现页面更新了缓存还是旧内容。
- 高级玩法可以用map指令更精细控制:
map $cookie_wordpress_logged_in $bypass_cache {
default 0;
~^wordpress_logged_in 1;
}
然后在location里用proxy_cache_bypass $bypass_cache;
,这逻辑更清晰——检测到登录cookie就跳过缓存。
- 最后记得测试配置再重启nginx:
nginx -t && systemctl reload nginx
用curl或者浏览器检查响应头,看到
X-Cache-Status: HIT
就说明缓存成功了!
缓存不是一劳永逸,得根据实际访问量调整缓存时间。小型站点10分钟缓存足够,大流量站点可能得按小时计。观察服务器负载和内存使用量,慢慢调教到最佳状态。毕竟服务器资源就像咖啡,得省着点喝才能撑得住突然涌进来的人群。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。

热门文章
