Nginx的缓存
- 浏览器缓存:加速用户访问,提升单个用户(浏览器访问者)体验,缓存在本地
- Nginx缓存:缓存在nginx端,提升所有访问到nginx这一端的用户。提升访问上游(upstream)服务器的速度;用户访问仍然会产生请求流量。
控制浏览器缓存
expires 针对得是静态资源(html,css,js…),控制浏览器缓存
server {
listen 8080;
server_name localhost;
location /static {
#使用别名方式
alias /home/video;
expires 10s;
# expires @22h30m;
# expires -1h;
# expires epoch;
# expires off;
expires max;
}
}
反向代理缓存
在server节点外配置proxy cache path
# proxy_cache_path 设置缓存目录
# keys_zone 设置共享内存以及占用空间大小
# max_size 设置缓存大小
# inactive 超过此时间则被清理
# use_temp_path 临时目录, 使用后会影响nginx性能
proxy_cache_path /usr/local/nginx/upstream_cache keys_zone=mycache:5m max_size=1g inactive=1m use_temp_path=off;
配置启动
location / {
proxy_pass http://tomcats;
# 启用缓存, 和keys_zone一致
proxy_cache mycache;
# 针对200和304状态码缓存时间为8小时
proxy_cache_valid 200 304 8h;
}