在Debian系统上配置Nginx缓存可以显著提高网站的性能和响应速度。以下是一些关键的配置技巧和步骤:
proxy_cache_path 指令定义缓存存储路径和相关参数。例如:http {
proxy_cache_path /data/cache levels=1:2 keys_zone=sys_cache:10m max_size=10g inactive=60m;
}
levels=1:2:定义缓存文件存储目录的层次结构。keys_zone=sys_cache:10m:定义共享内存区域的名称为 sys_cache,大小为10MB。max_size=10g:指定缓存的最大容量为10GB。inactive=60m:设置缓存的有效时间为60分钟。location 中使用缓存:
使用 proxy_cache 指令使得匹配的请求开启缓存。例如:server {
listen 80;
server_name mysite.com;
location / {
proxy_cache sys_cache;
proxy_pass http://api_server;
}
}
location / {
expires 2h;
proxy_cache_valid 200 2h;
proxy_cache_valid 302 2m;
proxy_cache_valid 404 30s;
proxy_cache_valid any 30s;
proxy_cache_key $uri$is_args$args;
proxy_ignore_headers Set-Cookie Cache-Control;
proxy_hide_header Cache-Control;
proxy_hide_header Set-Cookie;
}
expires 2h:设置Expires头,告诉浏览器在2小时内可以放心使用缓存到本地的文件。proxy_cache_valid:设置不同状态码响应结果的缓存时间。proxy_cache_key:为请求生成唯一的缓存键。proxy_ignore_headers 和 proxy_hide_header:隐藏某些HTTP头信息,以避免影响缓存。proxy_no_cache 和 proxy_cache_bypass 指令。例如:location ~* \.(jpg|jpeg|png|gif)$ {
proxy_cache_bypass $http_cache_control;
proxy_no_cache $http_cache_control;
}
proxy_cache_min_uses 指令。例如:proxy_cache_min_uses 1;
proxy_cache_methods 指令。例如:proxy_cache_methods GET HEAD;
rm -rf /usr/local/proxy_cache
ngx_cache_purge:
安装并使用 ngx_cache_purge 模块,并通过 proxy_cache_purge 指令手动清除缓存。通过以上配置技巧,可以在Debian系统上高效地配置Nginx缓存,从而提升网站性能和用户体验。