设置Nginx缓存策略

本文主要介绍如何通过Nginx的add_header和expires指令设置Nginx缓存策略。

说明

免责声明:本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

在Nginx中设置缓存策略主要涉及两个关键指令:add_headerexpires。这两个指令可以控制HTTP响应头中的缓存相关字段,从而影响浏览器和代理服务器如何缓存内容。

配置步骤

  1. 使用add_header指令设置自定义HTTP头部:

    add_header name value;

    例如,要设置一个名为Cache-Control的头部,指示资源不被缓存,可以这样配置:

    add_header Cache-Control "no-cache";
  2. 使用expires指令设置过期时间:

    expires [time|epoch|max|off];
    • off:禁止修改头部中的ExpiresCache-Control字段。

    • time:设置缓存过期的具体时间,如expires 1h;表示1小时后过期。

    • epoch:将Expires头设置为1970年1月1日的GMT时间点。

    • max:将Expires头设置为一个较远的未来时间点,并将Cache-Control最大化到10年。

配置示例

  • 设置PHP文件类型过期时间为1小时:

    location ~ \.php$ {
     expires 1h;
    }
  • 设置PHP文件类型为no-cache,不允许缓存:

    location ~ \.php$ {
     add_header Cache-Control "no-cache";
    }

通过以上方式,您可以根据需要灵活地为不同类型的资源或特定位置设置不同的缓存策略。