仅简记设置过程,具体原理等可以转至文末“参考来源”查看。
设置缓存区域
在 nginx.conf
文件中的 http
段添加
proxy_cache_path 缓存路径 keys_zone=名称:最大允许占用空间;
如
proxy_cache_path /usr/lcoal/nginx/cache keys_zone=cache_all:100m;
设置强缓存
强缓存:直接在缓存中读取资源而不必向服务器发送请求。
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_cache cache_all;
proxy_cache_valid 200 304 1y;
proxy_cache_valid any 1m;
proxy_cache_lock on;
proxy_cache_lock_timeout 5s;
proxy_cache_use_stale updating error timeout invalid_header http_500 http_502;
expires 1y;
}
Cache-Control:主要用于控制网页缓存,主要取值为:
- public:所有内容都将被缓存(客户端和代理服务器都可缓存)
- private:所有内容只有客户端可以缓存,
Cache-Control
的默认取值 - no-cache:客户端缓存内容,但是是否使用缓存则需要经过协商缓存来验证决定
- no-store:所有内容都不会被缓存,即不使用强制缓存,也不使用协商缓存
- max-age=xxx (xxx is numeric):缓存内容将在xxx秒后失效