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

部署Next.js应用后白屏但状态在线无报错,求调试方法

问题:Next.js部署后出现白屏(服务状态正常无报错)

我是一名新手,将Next.js应用部署到服务器后出现白屏,但服务状态正常,且未发现任何报错日志。已将应用重新部署到一台全新服务器,相关信息如下:

应用启动日志(out.log)

0|sixam-ma |
0|sixam-ma | > sixam-mart@0.1.0 start
0|sixam-ma | > next start -p 3002
0|sixam-ma |
0|sixam-ma |
0|sixam-ma | > sixam-mart@0.1.0 start
0|sixam-ma | > next start -p 3002
0|sixam-ma |
0|sixam-ma |
0|sixam-ma | > sixam-mart@0.1.0 start
0|sixam-ma | > next start -p 3002
0|sixam-ma |
0|sixam-ma | ready - started server on 0.0.0.0:3002, url: http://localhost:3002
0|sixam-ma | info  - Loaded env from /home/..../public/.env.production
0|sixam-ma | { lanDirection: 'ltr' }

PM2服务状态

────┬───────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name          │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
├────┼───────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0  │ sixam-mart    │ default     │ 0.39.3  │ fork    │ 62363    │ 7m     │ 0    │ online    │ 0%       │ 58.6mb   │ ubuntu   │ disabled │
└────┴───────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────

Nginx反向代理配置

location / {
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_cache_bypass $http_upgrade;
proxy_set_header Host $host;
proxy_pass http://localhost:3002/;
proxy_redirect http://localhost:3002/ https://$server_name/;
}

排查步骤

  • 直接访问服务器3002端口:在服务器本地执行curl http://localhost:3002,或者在本地通过服务器IP:3002访问(确保防火墙开放3002端口),验证Next.js服务本身是否能返回正常内容,排除Nginx代理问题。
  • 检查浏览器控制台:打开白屏页面后按F12,查看Console标签是否有JS报错,Network标签是否有资源加载失败(如404、500状态)。
  • 确认构建过程:检查部署时next build命令的输出,确保生产构建无错误或关键警告,比如依赖缺失、代码语法问题。
  • 验证环境变量:确认.env.production中的变量配置正确,比如API地址、密钥等,避免因变量错误导致页面渲染失败。
  • 优化Nginx配置:删除重复的proxy_set_header Host $host;语句;如果使用HTTPS,确认SSL证书配置正常,无证书过期或不匹配问题。
  • 查看详细日志:启动Next.js时增加日志级别,执行next start -p 3002 -v;同时检查服务器系统日志(如/var/log/syslog),排查是否有底层错误。
  • 检查静态资源:确认服务器上的.next目录(或静态导出的out目录)完整,文件权限正确,确保Node进程能读取这些资源。

内容的提问来源于stack exchange,提问作者Rajiv Sarkar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 05:52:53