前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >19-Nginx控制浏览器缓存与上游静态资源缓存

19-Nginx控制浏览器缓存与上游静态资源缓存

作者头像
彼岸舞
发布2022-09-13 09:20:34
6670
发布2022-09-13 09:20:34
举报
文章被收录于专栏:java开发的那点事

Nginx控制浏览器缓存

浏览器缓存

第一次请求为200, 大小为49.8kb, 代表是直接从服务器请求的

刷新后状态为304, 大小为181B, 代表是加载的浏览器缓存

设置浏览器是否缓存

可以通过个勾选Disable cache禁用浏览器缓存, 那么每次都是加载服务器

Nginx设置资源过期时间

因为看的是之前的资源图片, 就修改原来的配置

代码语言:javascript
复制
server {
  listen       90;
  server_name  localhost;
  location / {
    root   /home;
    # 设置资源过期时间为10秒
    expires 10s;
  }

  location /static {
    alias   /home;
  }
}

可以看到它的过期时间为10秒,, 并且在文件请求时, 会自动判断文件有没有修改, 如果有修改, 那么就会加载最新的

指令(秒:s, 分:m, 小时:h, 天:d)

含义

expires 10s;

10秒过期

expires @22h30m;

晚上10点30过期

expires -1h;

一个小时之前过期, 也就是不缓存

expires epoch;

不缓存

expires off;

关闭缓存, 默认是这个, 但是浏览器有默认的

expires max;

2037年, 也就是永不过期

Nginx的反向代理缓存

图中可以看到浏览器可以缓存Nginx的静态资源, Nginx也可以缓存上游的静态资源

代码语言:javascript
复制
upstream tomcats {
  server 192.168.247.136:8001;
  server 192.168.247.136:8002;
  server 192.168.247.136:8003;
}
# proxy_cache_path 设置缓存保存的目录
# keys_zone 设置共享内存以及占用空间大小
# max_size 设置缓存大小
# inactive 缓存时间, 过期自动清理
# use_temp_path 是否使用临时目录, 建议关闭
proxy_cache_path /usr/local/nginx/upstream_cache keys_zone=mycache:5m max_size=1g inactive=1m use_temp_path=off;
server{
  listen        80;
  server_name   www.tomcat.com;
  # 开启并使用缓存
  proxy_cache mycache;
  # 针对200和304状态码的缓存设置过期时间
  proxy_cache_vaild        200 304 8h;
  location / {
    proxy_pass  http://tomcats;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
  }
}

配置完成后 上游服务器的静态资源就会被缓存到nginx的upstream_cache文件夹中了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nginx控制浏览器缓存
    • 浏览器缓存
      • Nginx设置资源过期时间
      • Nginx的反向代理缓存
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档