在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缓存,从而提升网站性能和用户体验。