【问题标题】:Can you avoid a 502 error when deploying a webpack build to Elastic Beanstalk将 webpack 构建部署到 Elastic Beanstalk 时能否避免 502 错误
【发布时间】:2017-08-16 00:42:55
【问题描述】:

在将我的服务器端渲染的 React 应用程序部署到 Node Elastic Beanstalk 环境时,该站点显示 502 错误,其中 Nginx 在运行 webpack 构建的过程中无法获得连接。

在 package.json 中,我运行以下命令进行构建,这在部署期间由 Elastic Beanstalk 触发:

"prestart": "node node_modules/webpack/bin/webpack.js --progress --colors --bail"

构建完成后,我运行以下命令来启动服务器:

"start": "node dist/server.js"

在两者之间,网站显示 502 错误。我有一些潜在的选择,但我很想知道是否有人以不同/更简单的方式解决了这个问题。

  1. 使用 AWS CodeBuild 而不是 NPM 脚本构建站点
  2. 运行多个实例并进行部署部署
  3. 运行多个环境并交换 URL。

【问题讨论】:

    标签: node.js amazon-web-services nginx npm amazon-elastic-beanstalk


    【解决方案1】:

    您列出的第二个选项可能是最简单的。如果您将 EB 配置从“单实例”更改为“负载平衡、自动扩展”并将自动扩展规则设置为至少有两台服务器,那么您将免费获得所需的部署行为。 EB 会在将实例部署到负载均衡器之前将其从负载均衡器中取出,从而确保您的站点永远不可用。

    第三个选项,也称为蓝/绿部署,功能更强大(因为它使之前的版本保持不变以便于回滚),但对于您的情况可能有点矫枉过正。

    【讨论】:

      猜你喜欢
      • 2021-03-17
      • 2017-12-09
      • 2018-10-12
      • 1970-01-01
      • 2016-03-09
      • 2016-10-17
      • 2014-12-16
      • 2021-06-22
      • 2020-12-04
      相关资源
      最近更新 更多