You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js应用部署后页面不更新且刷新崩溃问题求助

Next.js App Router部署AWS Ubuntu后页面不更新、刷新崩溃问题排查

核心排查与修复方向

1. 清理部署缓存与残留进程

  • 每次部署前强制删除项目根目录下的.next文件夹,彻底清除旧构建缓存,避免新代码被旧缓存覆盖
  • 终止所有残留的Next.js进程:执行ps aux | grep next找到进程PID,用kill -9 [PID]彻底杀掉,再重新启动npm start,防止tmux会话中旧进程占用资源或加载过期内容

2. 修正Rewrite规则的App Router适配错误

你当前next.config.mjs中的rewrite规则目标路径指向了/pages/xxx,但App Router的路由结构基于app/目录,这种路径匹配错误是导致刷新崩溃的核心原因。修改后的规则示例:

// next.config.mjs
const nextConfig = {
  async rewrites() {
    return [
      {
        source: "/dashboard",
        destination: "/dashboard", // 对应app/dashboard/page.tsx
      },
      {
        source: "/connectors",
        destination: "/connectors",
      },
      {
        source: "/all-investigations",
        destination: "/all-investigations",
      },
      {
        source: "/my-investigations",
        destination: "/all-investigations",
      },
      // 动态路由需包含参数匹配,否则无参数访问会触发崩溃
      {
        source: "/investigation-details/:id",
        destination: "/investigation-details/:id",
      },
      {
        source: "/add-ai-coworker",
        destination: "/add-ai-coworker",
      },
      {
        source: "/agent",
        destination: "/agent",
      },
      {
        source: "/my-dashboard",
        destination: "/dashboard",
      },
      {
        source: "/agent-details/:id",
        destination: "/agent-details/:id",
      },
      {
        source: "/signup",
        destination: "/auth/signup", // 对应app/auth/signup/page.tsx
      },
      {
        source: "/",
        destination: "/auth/signin",
      },
    ];
  },
};
export default nextConfig;

注意:动态路由必须在source中声明参数(如:id),否则用户访问无参数的动态路由路径时,会因参数缺失触发页面崩溃。

3. 保障环境与依赖一致性

  • 检查服务器Node.js版本与本地是否一致:执行node -v,若版本差异较大,用nvm安装与本地相同的Node版本
  • 服务器安装依赖时使用npm ci替代npm install,确保依赖版本与本地package-lock.json完全匹配,避免兼容性问题
  • 确认服务器环境变量配置完整:所有本地使用的NEXT_PUBLIC_*开头的环境变量,需在服务器中正确设置,缺失环境变量可能导致页面渲染异常

4. 优化进程管理稳定性

tmux仅适合会话保持,长期管理应用建议改用pm2:

  1. 安装pm2:npm install -g pm2
  2. 启动应用:pm2 start npm --name "next-app" -- start
  3. 查看崩溃日志:pm2 logs next-app(快速定位崩溃原因)
  4. 重启应用:pm2 restart next-app

内容的提问来源于stack exchange,提问作者Ananya Bandyopadhyay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 01:22:06