Node.js 在谷歌云应用引擎上集成PM2

Node.js 在谷歌云应用引擎上集成PM2,node.js,google-app-engine,pm2,app-engine-flexible,Node.js,Google App Engine,Pm2,App Engine Flexible,我正在尝试将PM2集成到谷歌云应用程序引擎,但我就是无法解决这个问题。我使用PM2作为我的站点的暂存站点,我对此印象深刻。我使用数字海洋液滴进行登台。我意识到谷歌云应用引擎并没有那个么灵活 这是我的包.json: "main": "server.js", "scripts": { "start": "NODE_ENV=production npm run server:prod", "server:prod": "node server.js", "server:stage": "N

我正在尝试将PM2集成到谷歌云应用程序引擎,但我就是无法解决这个问题。我使用PM2作为我的站点的暂存站点,我对此印象深刻。我使用数字海洋液滴进行登台。我意识到谷歌云应用引擎并没有那个么灵活

这是我的
包.json

"main": "server.js",
"scripts": {
  "start": "NODE_ENV=production npm run server:prod",
  "server:prod": "node server.js",
  "server:stage": "NODE_ENV=stage pm2 start server.js --exp-backoff-restart-delay=100 -i max",
  "dev": "nodemon server.js",
  "gcp-deploy-stage": "gcloud app deploy app.backend.stage.yaml --project=xxxxx",
  "gcp-deploy-prod": "gcloud app deploy app.backend.prod.yaml --project=xxxx -v=alpha-16"
},
当我将生产脚本
start
设置为暂存时,如下所示:

"server:prod":"pm2 start server.js --exp-backoff-restart-delay=100 -i max"
部署这个谷歌云应用引擎通常会崩溃,因为没有通过NPM安装全局PM2来启动PM2

有没有人经历过这一切并成功了?或者任何能让我找到正确解决方案的代码或文档

或者唯一的选择是将其迁移到谷歌云计算引擎


感谢您阅读本文和您的帮助。

如果您想使用任何模块,您必须将其包含在
包.json中。您是否尝试过运行
npm安装--save dev pm2
,然后重新部署您的站点?我猜,这会让你达到你想去的地方

除此之外,这可能不是一个好主意:)
pm2
在管理机器上的进程方面做了很多工作,特别是处理崩溃。AppEngine Flexible在基础架构层做了很多这方面的工作,自动查看实例运行状况。它在引擎盖下使用docker,它有自己的重启策略。最重要的是,如果docker重试策略不起作用,Google负载平衡器将启动,并为您启动一个新的计算实例。完全有可能像这样进行过程级监视和重新启动,我只是想确保您了解引擎盖下发生的所有其他事情


好奇害死了猫-为什么你最终选择了App Engine Flexible而不是App Engine Standard?

嗨,你能展示一下完整的回溯吗?