19-Nginx控制浏览器缓存与上游静态资源缓存
2023-06-13 09:12:26 时间
Nginx控制浏览器缓存
浏览器缓存
第一次请求为200, 大小为49.8kb, 代表是直接从服务器请求的
刷新后状态为304, 大小为181B, 代表是加载的浏览器缓存
设置浏览器是否缓存
可以通过个勾选Disable cache禁用浏览器缓存, 那么每次都是加载服务器
Nginx设置资源过期时间
因为看的是之前的资源图片, 就修改原来的配置
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也可以缓存上游的静态资源
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文件夹中了
相关文章
- SPC控制图为什么是±3σ,而不是±2σ或±4σ?
- MySQL基础-变量/流程控制/游标
- Python 自动化指南(繁琐工作自动化)第二版:二、流程控制
- python-高级协程编程-协程的并发控制(二)
- Linux下新建目录的权限控制(linux新建目录权限)
- 利用Linux PTS进行分组控制(linuxpts切换)
- MySQL权限管理:实现安全的数据访问(mysql权限控制)
- 掌握Oracle触发器类型,实现数据精准控制(oracle触发器类型)
- OPPO 公开行车环境信息获取专利,可解决在 V2X 网络故障时的车辆控制问题
- Oracle数据库的并发控制机制解析(oracle数据库并发)
- 微信曝远程任意代码执行漏洞,可被远程控制
- 轻松愉悦的远程控制:使用Linux图形化界面(linux远程图形化界面)
- mssql灵活控制锁行机制(mssql 锁行)
- Oracle新建用户实现权限控制管理(oracle使用新建用户)
- 使用Redis灵活控制访问权限(redis 设置访问权限)
- smarty缓存控制前的页面静态化原理