【发布时间】:2016-09-10 02:48:08
【问题描述】:
我们有一个庞大的小节点应用程序,并想试用谷歌云部署套件以使其上线,但是我们的部署总是导致页面出现 500 服务器错误。
通常我会提供更多信息、错误等,但我希望更有知识的人可以指导我在哪里可以找到这些信息。当我们gcloud preview app deploy 时,gcloud 终端中没有出现任何值得注意的内容,只是一堆preparing 和pushing 以及最后的deployed module [default] to ... 消息。但是,导航到 URL 会给我们一个 500 服务器错误:
Error: Server Error
The server encountered an error and could not complete your request.
Please try again in 30 seconds.
查看响应标头并没有提供更多信息,所以我浏览了堆栈驱动程序/日志,但唯一的事情是一堆 /_ah/background GET 没有我们任何请求的迹象.
我们可以从哪里开始调试这个问题?它是一个带有 node/express 后端、react 前端和 webpack 构建器的节点应用程序。
编辑:这是应用引擎仪表板的screenshot。
我们的app.yaml:
runtime: nodejs
vm: true
skip_files:
- ^(.*/)?.*/node_modules/.*$
我们的package.json:
"scripts": {
"test": "karma start",
"watch": "watch 'npm run test' client/",
"clean": "rm -rf dist",
"webpack-prod": "NODE_ENV=production webpack --progress -p",
"server-prod": "NODE_ENV=production node ./index.js",
"prestart": "npm run webpack-prod",
"start": "npm run server-prod",
},
【问题讨论】:
-
介意分享您的 App Engine 仪表板屏幕截图吗?
-
没问题,你是这个意思吗? i.imgur.com/fVxeT1k.png?1
-
首先,在 1 个实例而不是 20 个实例上对其进行测试。:D 接下来将您的 server-pod 任务更改为
"server-prod": "NODE_ENV=production node index.js",,它应该可以工作。 -
@komali_2,你的问题解决了吗?
-
@kamran 我已经解决了我们在服务器上遇到的问题(编译时间太长,所以进程退出了),但是,我们完全靠运气发现了这一点。我仍然不确定在 gcloud 上调试节点应用的最佳方式。
标签: node.js google-app-engine google-compute-engine gcloud gcloud-node