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

基于Azure DevOps部署NextJS 14 SSR应用路由项目遇运行故障求助

针对Next.js 14 App Router Azure部署问题的解决方案

问题1:pm2启动提示找不到next模块

  • 检查依赖配置:确保package.json中next被放在dependencies而非devDependencies下,生产环境需要该依赖正常运行。
  • 规范依赖安装流程:不要手动复制node_modules文件,在CI/CD流水线中执行npm install --production,确保所有生产依赖完整安装,避免手动复制导致的依赖链断裂或权限问题。
  • 修正pm2启动命令:
    • 方式一:直接指定next启动路径,命令为pm2 start node_modules/next/dist/bin/next start -p $PORT
    • 方式二:在package.json中添加启动脚本:"start": "next start",然后用pm2 start npm -- start启动
  • 确认工作目录:在Azure Web App的配置中,确保启动命令的工作目录设置为项目根目录。

问题2:独立构建后node server.js启动,静态文件加载失败

  • 验证独立构建配置:在next.config.js中确保添加了output: 'standalone'配置,开启独立构建模式。
  • 完整复制部署文件:CI/CD流水线构建完成后,必须将以下三个目录同步到Azure Web App的部署目录:
    • .next/standalone(独立构建的服务端代码)
    • .next/static(静态资源文件)
    • public(公共静态文件)
  • 修正启动路径:将Azure Web App的工作目录设置为/site/wwwroot/.next/standalone,然后执行启动命令node server.js;或者在根目录执行node .next/standalone/server.js。
  • 配置环境变量:在Azure Web App的应用设置中添加PORT变量,值设为8080(Azure默认监听端口),同时确保所有NEXT_PUBLIC_开头的环境变量正确配置。
  • 检查静态资源路径:确认静态资源的访问路径为/_next/static/xxx,避免自定义路由或路径配置导致的资源寻址错误。

内容的提问来源于stack exchange,提问作者Long Nguyen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 16:01:05