Nginx配置缓存策略的技巧主要包括以下几个方面:
proxy_cache_path
指令定义缓存路径和相关参数,如缓存目录层级、共享内存区域、缓存最大大小、过期时间等。例如:http {
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
}
proxy_cache
指令指定缓存区域,proxy_cache_valid
指令定义HTTP状态码200和304被缓存的时间。例如:location / {
proxy_pass http://backend;
proxy_cache my_cache;
proxy_cache_valid 200 304 1h;
}
Expires
头部信息控制浏览器缓存,使用Cache-Control
头部信息提供更细致的缓存控制。例如:location ~* \.(jpg|jpeg|png|gif)$ {
expires 30d;
add_header Cache-Control "public, max-age=2592000";
}
Last-Modified
和If-Modified-Since
头部信息进行缓存验证,减少不必要的数据传输。例如:location ~* \.(css|js)$ {
expires 7d;
add_header Cache-Control "public";
add_header Last-Modified $date_gmt;
}
proxy_cache_purge
指令手动刷新或清理缓存。例如:location /flush_cache {
internal;
proxy_cache_purge my_cache "schema=request_method host request_uri";
return 200 "Cache flushed successfully";
}
http {
gzip on;
gzip_disable "msie6";
gzip_types text/plain text/css application/json;
}
通过以上技巧,可以有效地配置Nginx的缓存策略,提升网站的性能和用户体验。