开发环境:
本地内网+frp+腾讯云外网nginx
本地 npm run build 生成文件, npm run start启动服务,因为是基于next.js,前端渲染,后端api由next.js 路由过去。
服务通过内网穿透frp到外网腾讯云。
腾讯云通过nginx配置域名服务。比如是 demo.example.com
第一次部署后上线正常。
后面修改内容后,重新build,结果发现内容没有任何变化。开始就一直以为是AI没有帮我改到,一直在让AI改,改完重新build,结果刷新页面+重启nginx,强制刷新浏览器缓存,一切都没有生效。
后面排查到原来是next.js的文件缓存到nginx的缓存目录里面,走外网请求的时候一直获取的nginx里的缓存文件,走外网ip的时候内容也是缓存。而走内网192.168.x.x的时候,网页展示的是最新的改动内容。
于是每次内网机子build完next.js 代码后,在外面服务器同步清除一次ngixn缓存即可。
rm -rf ~/www/server/nginx/proxy_cache_dir/*
也不需要重启nginx服务。