发布于2026-07-29 阅读(0)
扫一扫,手机访问
Nginx的缓存配置,核心就在于几个关键指令:proxy_cache、proxy_cache_valid、proxy_cache_key。下面来看一个基本配置示例,一步步拆解。
nginx.conf的http块内,定义一个缓存区域:http {
# ...
proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
# ...
}
这里定义了一个名为my_cache的缓存区域,物理路径在/tmp/nginx。levels=1:2控制目录层级结构,keys_zone指定缓存区域名称和内存大小(10MB),max_size=1g限制最大磁盘容量,inactive=60m表示缓存项在60分钟内未被访问则失效,use_temp_path=off避免使用临时目录,直接写入缓存文件。
server块中配置具体的缓存策略:server {
# ...
location / {
proxy_pass http://backend_server;
proxy_cache my_cache;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
proxy_cache_key "$scheme$request_method$host$request_uri";
add_header X-Proxy-Cache $upstream_cache_status;
}
# ...
}
这段配置对所有请求生效。先通过proxy_cache my_cache引用上面定义的缓存区域。然后proxy_cache_valid按状态码设置缓存时间:200和302响应缓存10分钟,404响应只缓存1分钟。缓存键由proxy_cache_key定义,这里组合了协议、请求方法、主机和URI,确保不同请求区分开。最后加上了add_header,让响应头带上X-Proxy-Cache字段,方便排查缓存命中情况(HIT/MISS)。
sudo nginx -t
sudo nginx -s reload
至此,缓存策略就生效了。实际生产中可以根据业务场景灵活调整缓存路径、大小、失效时间等参数,比如对静态资源延长缓存时间,对动态页面缩短或禁用缓存。关键是要理解每个指令的作用,才能做到精准控制。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8