nginx缓存node服务的伪静态页面(详细教程)

node服务配置nginx缓存,css,js,png,jpg使用nginx缓存,加速访问

1.创建缓存文件目录

使用mkdir命令创建缓存文件存放目录

mkdir /data
mkdir /data/next-cache

2.nginx.conf的http设置部分添加 proxy_cache_path的设置,server 部分添加或修改location设置

http {
  proxy_cache_path  /data/next-cache levels=1:2 keys_zone=next-cache:10m max_size=10g inactive=1d;
  
  server {
    listen  80;
    server_name  xxx.xxx.com;
    location /{
    	access_log off;
        proxy_pass http://localhost:3000;
        add_header  Cache-Control  max-age=no-cache;
        proxy_cache next-cache;
        proxy_cache_valid 12h;
        proxy_ignore_headers Set-Cookie Cache-Control;
        proxy_hide_header Cache-Control;
        proxy_hide_header Set-Cookie;
    }
    
    location ~*\.(css|js|png|jpg|jpeg|gif|gz|svg|mp4|ogg|ogv|webm|webp|htc|xml|woff)$ {
        access_log off;// 不打印访问日志
        add_header Cache-Control max-age=86400;
        proxy_pass http://localhost:3000;
    }
  }
}

配置后可以通过暂停node服务来验证缓存效果

解释(自定义配置必备)

proxy_cache_path  /data/next-cache levels=1:2 keys_zone=next-cache:10m max_size=10g inactive=1d;

proxy_cache_path----缓存目录:/data/next-cache
levels=1:2----采用2级目录结构,不必调整
keys_zone=next-cache:10m----缓存空间名:next-cache,内存空间为10M
max_size=10g----缓存文件可以占用的最大空间:10G
inactive=1d----默认过期时间1天,同inactive=24h

		add_header  Cache-Control  max-age=no-cache;
        proxy_cache next-cache;
        proxy_cache_valid 12h;
        proxy_ignore_headers Set-Cookie Cache-Control;

add_header----不设置强制缓存时间,协商缓存,使用 Last-Modified。no-cache 会发起往返通信来验证缓存的响应,但如果资源未发生变化,则不会下载,返回304
proxy_cache----keys_zone的值
proxy_cache_valid----过期时间
proxy_ignore_headers----忽略Cache-Control的请求头控制,依然进行缓存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿韩想静静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值