我正在将 nextjs 项目部署到 goole 应用引擎标准环境。
我从这次讨论中得到了一些灵感,并基于这个repo构建了我的应用程序。
(我尝试将此演示项目部署到我的应用程序引擎并确认它运行良好)
但是,在我部署项目后,应用引擎显示 500 错误。
https://stars-website-nextjs.ue.r.appspot.com/
当我检查应用引擎日志时,它显示了此消息。
请求失败,因为实例无法成功启动
这是我的 app.yaml
env: standard
runtime: nodejs14
service: default
handlers:
- url: /.*
secure: always
script: auto
和我的 package.json 文件
... ...
"scripts": {
"dev": "next -p 3030",
"start": "next start -p 8080",
"serve": "next start -p 8080",
"gcp-predeploy": "find ./build -name '\\[...*' -exec bash -c 'mv \"$1\" \"${1/.../@@@}\"' -- {} \\;",
"gcp-build": "find ./build -name '\\[@@@*' -exec bash -c 'mv \"$1\" \"${1/@@@/...}\"' -- {} \\;",
"build": "rm -rf ./build && next build",
"deploy": "npm run build && npm run gcp-predeploy && gcloud app deploy",
"test": "echo \"Error: no test specified\" && exit 1"
}
... ...
我的理解是,如果我将 nextjs 构建目录上传到应用引擎,它会自动运行 package.json 中的“start”命令。
我将相同的项目部署到 vercel.com 并且运行良好https://stars-nextjs.vercel.app。
为什么谷歌应用引擎不能成功启动我的项目?
我可以在某处检查 nodejs 实例日志吗?
我对应用引擎非常陌生,所以我对任何其他将 nextjs 项目部署到应用引擎的方法持开放态度。我还阅读了有关用于自动构建和部署的云构建和构建触发器,这听起来很吸引人,但不确定从哪里开始。
我真的很感激任何帮助。