首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS Elastic Beansalk中的pm2重启循环(节点环境)

AWS Elastic Beansalk中的pm2重启循环(节点环境)
EN

Stack Overflow用户
提问于 2020-07-09 06:53:58
回答 1查看 357关注 0票数 3

我在AWS Elastic Beanstalk中构建了NodeJs环境。我正在使用pm2监控上传到环境的两个不同的NodeJS应用程序。关键是我需要确保在gateway应用程序启动之前local应用程序已经启动。我正在使用npm-run-all同步地以特定的顺序启动应用程序。

这是我的package.json:

代码语言:javascript
运行
复制
"start": "npm-run-all -s start:local start:gateway",
"start:local": "pm2 start ./ecosystem.config.js --only local-service --env production",
"start:gateway": "pm2 start ./ecosystem.config.js --only gateway-service --env production",

这是我的ecosystem.config文件:

代码语言:javascript
运行
复制
module.exports =
{
  apps:
    [
      {
        name: 'local-service',
        script: './dist/services/local.js',
        watch: false,
        interpreter: 'node',
        interpreter_args: '--require ts-node/register --require tsconfig-paths/register',
        autorestart: false
      },
      {
        name: 'gateway-service',
        script: './dist/server.js',
        watch: false,
        interpreter: 'node',
        interpreter_args: '--require ts-node/register --require tsconfig-paths/register',
        wait_ready: true,
        listen_timeout: 5000,
        autorestart: false
      }
    ]
};

弹性beanstalk日志指示package.json中的start正在被持续调用。我已经将每个应用程序配置为不重启,但似乎还有其他原因导致连续重启。当我试图访问网关服务本身时,我得到了502 Bad Gateway错误。

EN

Stack Overflow用户

发布于 2020-07-20 17:52:28

请尝试只使用没有npm-run-all的pm2生态系统,即只使用pm2 start ecosystem.config.js,并允许任何(重新)启动序列,因为在现实生活中,您的gatewaylocal应用程序可能会以不同的顺序重新启动。

因此,不要使用start scheduling逻辑-请考虑将该逻辑移动到您的local应用程序-来监控并在gateway应用程序连接失败时重新连接。

如果您仍然想使用启动计划逻辑,请查看pm2 process actions并添加到gateway应用程序代码以触发启动您的local应用程序。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62804842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档