# 九.缓存
nginx 代理缓存
http{
proxy_cache_path /data/nginx/tmp-test levels=1:2 keys_zone=tmp-test:100m inactive=7d max_size=1000g;
}
1
2
3
2
3
proxy_cache_path 缓存文件路径
levels 设置缓存文件目录层次;levels=1:2 表示两级目录
keys_zone 设置缓存名字和共享内存大小
inactive 在指定时间内没人访问则被删除
max_size 最大缓存空间,如果缓存空间满,默认覆盖掉缓存时间最长的资源。
location /tmp-test/ { proxy_cache tmp-test; proxy_cache_valid 200 206 304 301 302 10d; proxy_cache_key $uri; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8081/media_store.php/tmp-test/; }
1
2
3
4
5
6
7
8
9proxy_cache tmp-test 使用名为 tmp-test 的对应缓存配置
proxy_cache_valid 200 206 304 301 302 10d; 对 httpcode 为 200…的缓存 10 天
proxy_cache_key $uri 定义缓存唯一 key,通过唯一 key 来进行 hash 存取
proxy_set_header 自定义 http header 头,用于发送给后端真实服务器。
proxy_pass 指代理后转发的路径,注意是否需要最后的