设置Nginx缓存策略

详细信息

Nginx服务器的缓存策略设置方法有两种:add_header或者expires。

1. add_header

1)语法:add_header name value。

2)默认值:none。

3)使用范围:http、server、location。

配置示例如下:

  • add_header cache-control "max-age=86400";#设置缓存时间为1天。
  • add_header cache-control "no-cache"; #设置为不缓存。
  • add_header cache-control "max-age=60"; #设置缓存时间为1分钟。

2. expires

1)语法:expires [time|epoch|max|off]

2)默认值:expires off

3)使用范围:http、server、location

4)这个指令控制是否在应答中标记一个过期时间,标记说明如下:

  • off:将禁止修改头部中的Expires和Cache-Control字段。
  • time:控制Cache-Control的值,负数标识永远过期,并且响应cache-control: no-cache。
  • epoch:将Expires头设置为1 January, 1970 00:00:01 GMT。
  • max:将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10年。

配置示例如下:

  • expires -1; #expires响应头内容为当前服务器时间过去1秒的时间,同时响应cache-control: no-cache。
  • expires 1d; #expires响应头内容为当前服务器时间未来1天的时间,同时响应cache-control: 86400。
  • expires 1h; #expires响应头内容为当前服务器时间未来1小时的时间,同时响应cache-control: 3600。

配置示例

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

    location ~ .php$ {
    expires 1h;
    }

设置PHP文件类型为no-cache,不允许缓存:

复制代码
location ~ \.php$ {
 add_header Cache-Control "no-cache";
}
相关推荐
l1o3v1e4ding15 分钟前
排查linux CentOS7.6的mysql磁盘 I/O 延迟过高问题
linux·运维·mysql
航Hang*44 分钟前
Windows Server 配置与管理——第12章:配置数字证书服务器
运维·服务器·windows
Edward111111112 小时前
linux创建普通用户
linux·运维·服务器
身如柳絮随风扬2 小时前
Redis如何实现高效插入大量数据
数据库·redis·缓存
Fanfanaas3 小时前
Linux 基础开发工具(二)
linux·运维·服务器·c语言
予早3 小时前
Redis 设置库的数量
数据库·redis·缓存
齐落山大勇3 小时前
Linux的文件IO
linux·运维·服务器
黑金IT3 小时前
vLLM本地缓存实战,重复提交直接复用不浪费算力
人工智能·缓存
七七powerful3 小时前
运维养龙虾--Tmux 终端复用器完全指南:从入门到 AI Agent 远程操控
运维·服务器·人工智能
齐潇宇3 小时前
文件共享服务器
linux·运维·网络·文件共享