Node.js 谷歌云应用程序引擎上的Nodejs应用程序未启动

Node.js 谷歌云应用程序引擎上的Nodejs应用程序未启动,node.js,google-app-engine,google-cloud-platform,Node.js,Google App Engine,Google Cloud Platform,你好 我的非常基本的Nodejs应用部署在Google云应用引擎实例上,但未启动。应用程序在本地工作,使用app deploy部署时运行无误,并且在应用程序实例上,通过Cloud shell手动启动时,应用程序成功运行(使用>npm start)。 然而,一旦云外壳关闭,我的应用程序就死了。我错过了什么?如何启动应用程序以永久运行 该应用程序包括 bot4.js文件 npm依赖项 app.yaml package.json app.yaml: runtime: nodejs8 handler

你好

我的非常基本的Nodejs应用部署在Google云应用引擎实例上,但未启动。应用程序在本地工作,使用
app deploy
部署时运行无误,并且在应用程序实例上,通过Cloud shell手动启动时,应用程序成功运行(使用
>npm start
)。 然而,一旦云外壳关闭,我的应用程序就死了。我错过了什么?如何启动应用程序以永久运行

该应用程序包括

  • bot4.js文件
  • npm依赖项
  • app.yaml
  • package.json
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"
  }
}
同样,当通过云外壳启动时,应用程序运行良好,但一旦云外壳关闭,应用程序就不再运行。此外,它是一个超级简单的discord机器人-因此没有任何前端

编辑: 这是我认为我手动启动应用程序的方式-但我在这里所做的是在云shell中启动应用程序,而不是在应用程序实例上:

以下是我如何部署应用程序:

从GAE的角度来看,云shell只是“本地”开发机器上的一个shell,恰好托管在云中。运行云shell的实例与GAE没有任何特殊关系

运行
npm start
时所做的并不是实际启动GAE实例,而是启动服务的“本地”执行,就像在本地机器上执行相同的操作一样


通过您的配置,GAE应在收到请求后立即自动启动您的应用程序。在一个有前端的应用程序上,只要点击你在快照中圈出的链接,你就可以使用它。由于您的应用程序没有前端,它可能才刚刚启动,但您必须依靠仪表板信息和/或您的应用程序日志来确认它正在运行。

有些事情不符合要求-cloud shell通常与GAE无关,无论您在cloud shell中做什么与GAE相关的事情,您都应该能够在本地机器上完成。而启动GAE应用程序实例并不是这些事情之一。那么你到底是如何“手动”启动你的应用程序的呢?@DanCornilescu谢谢你的评论。我添加了一张照片,显示了这一切。据我所知,“true-study-159312”是我的应用程序实例的名称。但事实并非如此?那么我要开始做什么呢?我突然意识到,我要用云存储中的文件在云壳中启动应用程序,而不是应用程序。因此,当我关闭shell时,应用程序没有运行也就不足为奇了。再次更新问题。是的,你完全正确。