Next.js 13应用在DigitalOcean VPS中Docker构建时预渲染页面失败求助
解决Next.js 13 + Docker容器化部署DigitalOcean VPS时/notes页面预渲染失败问题
问题背景
- 技术栈:Next.js v13、TypeScript、DrizzleORM、PostgreSQL
- 场景:本地运行正常的全栈笔记应用,需Docker容器化后部署到DigitalOcean Droplet(VPS)
- 已完成配置:
next.config.js中启用Server Actions实验特性,设置output: "standalone"- VPS上手动创建了对应数据库表并插入测试数据
问题现象
通过SSH在VPS上执行Docker构建时,/notes页面预渲染失败,抛出错误:
Something went wrong when fetching notes!
解决方案
- 创建DigitalOcean数据库集群:在DigitalOcean控制台创建托管式PostgreSQL数据库集群,获取集群的连接信息(主机地址、端口、认证用户名、密码、数据库名称)
- 更新环境变量:修改VPS上项目的
.env文件,将原本地数据库配置(localhost:5432相关)替换为DigitalOcean数据库集群的连接参数 - 重新部署容器:重新执行Docker构建和启动命令,此时应用容器可正常连接数据库,
/notes页面预渲染成功,应用与数据库容器均正常运行
内容的提问来源于stack exchange,提问作者Andrew Shearer
相关产品推荐
相关产品推荐

