美好的一天,
我在Google Cloud App Engine上部署的非常基本的Node.js应用无法启动。该应用程序在本地运行,使用app deploy
进行的部署运行无错误-在该应用程序实例上,通过Cloud Shell(带有>npm start
手动启动时,该应用程序成功运行。
但是,一旦Cloud Shell关闭,我的应用程序就会死机。我想念什么?如何启动该应用以使其永久运行?
该应用包含
app.yaml:
runtime: nodejs8
handlers:
- url: /
script: auto
package.json:
{
"name": "blexplorer",
"version": "1.0.0",
"description": "",
"main": "bot4.js",
"scripts": {
"start": "node bot4.js"
},
"author": "oystersauce",
"license": "ISC",
"dependencies": {
"discord.js": "^11.4.2",
"request": "^2.88.0"
}
}
同样,通过Cloud Shell启动该应用程序后运行正常,但一旦关闭Cloud Shell,该应用程序就不再运行。此外,它是一个超级简单的discord机器人-因此根本没有前端。
答案 0 :(得分:2)
从GAE角度来看,云外壳只是在“本地”开发计算机上的外壳,而恰好托管在云中。运行云外壳的实例与GAE没有任何特殊关系。
您在运行npm start
时实际上没有启动GAE实例,而只是在开始“本地”执行服务,就像在本地执行一样机器。
使用您的配置,GAE应在收到请求后立即自动启动您的应用程序。在具有前端的应用程序中,只需单击您在快照中圈出的链接即可进入。由于您的前端没有前端,因此它可能刚刚启动,但是您必须依靠仪表板信息和/或应用程序的日志来确认其正在运行。