Nginx学习与实战 · 解决SPA单页面应用CDN缓存问题

本文介绍了如何通过Nginx配置来解决使用Vue、React等SPA应用在生产环境中遇到的CDN缓存问题。通过设置特定的缓存策略,确保HTML入口页每次从服务器获取最新内容,而js、css文件则可以被缓存30天,提高页面加载速度。同时,文章提供了解决手机端缓存清理不便的方案,帮助开发者实现更友好的用户体验。
摘要由CSDN通过智能技术生成

现在很多web应用都是使用VueReact等框架开发的,这种SPA单页面应用在打包后,有些文件比较大。因此,大部分公司在生产环境会使用CDN加速,来加快首页渲染速度
但是使用CDN后静态文件会有缓存,重新打包上线后,可能不会立即更新修改的地方。浏览器上可以使用Ctrl + Shift + R强制清理缓存,但是手机上清理缓存就很麻烦。再说这种清理缓存的方式对用户来说极度不友好,所以需要在Nginx中配置相应的缓存策略

Nginx & CDN Cache

配置Nginx

打开 nginx.conf 配置文件,编辑对应的server,加上下面的控制缓存策略代码:

server {
    listen       8088;
    server_name  localhost;
    
    location / {
        root   /data/www/web-test;
        index  index.html;
        try_files $uri $uri/ /index.html;
        
        # 控制缓存策略代码 start 
        # code-1
        if ($request_filename ~ .*\.(htm|html)$) {
            add_header Cache-Control 'no-store, no-cache, must-revalidate';
        }
        
        # code-2
        if ($request_filename ~ .*.(js|css)$) {
            expires 30d;
        }
        # 控制缓存策略代码 end
        
    }
}
  • code-1: 这段代码的含义是不缓存html入口页,每次都重新从服务端拉取最新的文件。
  • code-2: 这个是匹配找到所有的jscss文件,让其加上 30天 的缓存。

配置成功后,执行 nginx -s reload 重启nginx,应该就大功告成了。


Nginx 相关推荐


欢迎访问:天问博客

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值