【发布时间】:2020-06-16 23:04:10
【问题描述】:
当我使用 PM2 v 3.5.0 在本地运行我的应用程序时一切正常,但是当我将它部署到 Google GCP 应用引擎 Flex 环境中时,PM2 会不断重启应用程序。
这是我的 PM2 配置文件
{
"apps": [{
"name" : "prod_client",
"script" : "./bin/www",
"exec_mode": "cluster_mode",
"instances": 1,
"watch" : false,
"env": {
"NODE_ENV": "production"
}
},{
"name" : "prod_api",
"script" : "./src/server/apiServer.js",
"exec_mode": "cluster_mode",
"instances": 1,
"watch" : false,
"env": {
"NODE_ENV": "production"
}
}]
}
有趣的是,我没有得到任何有用的日志。请注意,在本地机器上一切正常,PM2 不会抱怨。
【问题讨论】:
-
PM2 有一个默认的负载均衡器和一个默认的自动重启选项。我认为这会干扰 Flex 环境。您是否尝试过禁用这两个功能并允许实例崩溃以便在 Stackdriver Login 中看到日志?
-
@NahuelVarela 没有尝试过。我会检查,但现在一些它如何与不同的代码库(我有它用于暂存环境部署)一起工作。它的工作很奇怪,除了数据库配置等一些配置之外,代码绝对没有区别
-
很高兴看到它现在正在工作。您能否发布导致解决的步骤?因此,它将帮助处于相同情况的其他人。
-
@NahuelVarela 我在之前的评论中已经提到过,它使用不同的代码库(两个代码库,一个用于暂存,一个用于生产,两个分支,理想情况下只有环境和常量会改变)所以在这个带有生产环境和常量的案例分段代码工作正常,代码没有变化,这就是为什么我说它很奇怪。
标签: node.js express google-app-engine google-cloud-platform pm2