商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何在nginx中配置缓存策略

如何在nginx中配置缓存策略

  发布于2026-07-29 阅读(0)

扫一扫,手机访问

Nginx的缓存配置,核心就在于几个关键指令:proxy_cacheproxy_cache_validproxy_cache_key。下面来看一个基本配置示例,一步步拆解。

  1. 首先,在nginx.confhttp块内,定义一个缓存区域:
http {
    # ...
    proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
    # ...
}

这里定义了一个名为my_cache的缓存区域,物理路径在/tmp/nginxlevels=1:2控制目录层级结构,keys_zone指定缓存区域名称和内存大小(10MB),max_size=1g限制最大磁盘容量,inactive=60m表示缓存项在60分钟内未被访问则失效,use_temp_path=off避免使用临时目录,直接写入缓存文件。

  1. 接下来,在server块中配置具体的缓存策略:
server {
    # ...
    location / {
        proxy_pass http://backend_server;
        proxy_cache my_cache;
        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 404 1m;
        proxy_cache_key "$scheme$request_method$host$request_uri";
        add_header X-Proxy-Cache $upstream_cache_status;
    }
    # ...
}

这段配置对所有请求生效。先通过proxy_cache my_cache引用上面定义的缓存区域。然后proxy_cache_valid按状态码设置缓存时间:200和302响应缓存10分钟,404响应只缓存1分钟。缓存键由proxy_cache_key定义,这里组合了协议、请求方法、主机和URI,确保不同请求区分开。最后加上了add_header,让响应头带上X-Proxy-Cache字段,方便排查缓存命中情况(HIT/MISS)。

  1. 保存配置后,测试并重新加载Nginx:
sudo nginx -t
sudo nginx -s reload

至此,缓存策略就生效了。实际生产中可以根据业务场景灵活调整缓存路径、大小、失效时间等参数,比如对静态资源延长缓存时间,对动态页面缩短或禁用缓存。关键是要理解每个指令的作用,才能做到精准控制。

本文转载于:https://www.yisu.com/ask/4609887.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注