静的リソースキャッシュ
静的ファイルキャッシングは、帯域幅の損失を減らすことができます。アップストリームサーバーのファイルはNginxにキャッシュでき、Nginxのファイルもブラウザーにキャッシュできます。
ブラウザキャッシュ:
ユーザーアクセスを高速化し、ローカルにキャッシュされた1人のユーザー(ブラウザの訪問者)のエクスペリエンスを向上させます。
Nginxキャッシュ:
- nginx側でキャッシュして、nginx側へのすべてのアクセスのユーザーエクスペリエンスを向上させます。
- アップストリームサーバーへのアクセス速度を向上させます。
- ユーザーアクセスは引き続きリクエストトラフィックを生成します。
1ブラウザのキャッシュを制御する
ブラウザは主にキャッシュの有効期限を制御しますが、設定しないでおくことができます。
location /files {
alias /home/imooc;
# expires 10s; #10s后浏览器缓存失效
# expires @22h30m; #到22:30失效
# expires -1h; #在这之前1h已经过期
expires epoch; #相当于no-cache
# expires off; #关闭Nginx缓存,使用浏览器默认
# expires max; #最大时间,永不过期
# add_header Cache-Control no-store;
}
浏览器F12
キャッシュ制御:max-age = 10
日付:2021年1月3日日曜日05:35:04 GMT
有効期限:2021年1月3日日曜日05:35:14 GMT
2Nginxリバースプロキシキャッシュを設定します
upstream cluster {
server 192.168.233.130:8080;
server 192.168.233.130:8088;
}
# proxy_cache_path 设置缓存目录
# keys_zone 设置共享内存以及占用空间大小,mycache是缓存名字
# max_size 设置缓存大小
# inactive 超过此时间则被清理
# use_temp_path 临时目录,使用后会影响nginx性能
# levels 是否创建二级文件夹
proxy_cache_path /usr/local/nginx/upstream_cache keys_zone=mycache:5m max_size=1g inactive=1m use_temp_path=off;
# 配置server
server {
listen 80;
server_name www.awecoder.com;
location / {
proxy_pass http://cluster;
# 启动缓存
proxy_cache mycache;
# 针对200和304状态码缓存时间为8小时
proxy_cache_valid 200 304 8h;
}
}