详细信息
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";
}