NextJS生产环境首页及单个页面未更新,仍显示旧版本内容求助
NextJS + NGINX生产环境页面未更新排查方案
1. 确认构建产物是否正确部署
- 登录服务器,检查
.next目录(或静态导出的out目录)的文件修改时间,确认是最新构建后的产物,而非旧文件。 - 直接删除服务器上的旧构建目录,重新上传本地
next build生成的最新目录,避免部署脚本路径错误或同步不完整。
2. 排查NGINX缓存配置
- 检查NGINX配置文件,查看是否对HTML、JS、CSS等资源设置了过长的
expires缓存时间。如果有,缩短缓存时长,或保留默认的哈希文件名(NextJS自动为静态资源添加哈希,确保更新后文件名变化)。 - 确认是否启用了
proxy_cache代理缓存,若代理NextJS服务,需关闭该缓存或配置合理的失效规则。 - 修改配置后执行
sudo nginx -s reload,确保配置生效。
3. 检查NextJS自身缓存配置
- 打开
next.config.js,确认未设置强制缓存HTML的headers规则,也未开启异常的caches配置。 - 若使用SSG静态生成,删除本地
.next/cache目录后重新构建,避免旧缓存影响新页面生成,再上传到服务器。
4. 重启服务进程
- 若用PM2等进程管理器运行NextJS,执行
pm2 restart <应用名称>,确保进程加载最新代码。 - 执行
ps aux | grep node查看服务器上的Node进程,杀掉残留的旧进程,避免旧服务占用端口接收请求。
内容的提问来源于stack exchange,提问作者brgmahiko
相关产品推荐
相关产品推荐

