【发布时间】:2020-12-16 17:57:02
【问题描述】:
我一直在使用 Amazon Linux 2 迁移到 ElasticBeanstalk,但在覆盖默认 nginx.conf 文件时遇到问题。我正在关注反向代理的AL2 docs。
他们说,“要完全覆盖 Elastic Beanstalk 默认 nginx 配置,请在源包中的 .platform/nginx/nginx.conf 中包含一个配置:”
但当我运行部署时,我得到了错误
CommandService Response: {"status":"FAILURE","api_version":"1.0","results":[{"status":"FAILURE","msg":"Engine execution has encountered an error.","returncode":1,"events":[{"msg":"Instance deployment: Elastic Beanstalk ignored your '.ebextensions/nginx' configuration directory. To include these configuration files, move them to '.platform/nginx'.","timestamp":1598554657,"severity":"WARN"},{"msg":"Instance deployment failed. For details, see 'eb-engine.log'.","timestamp":1598554682,"severity":"ERROR"}]}]}
错误的主要部分是
“Elastic Beanstalk 忽略了您的 '.ebextensions/nginx' 配置目录。要包含这些配置文件,请将它们移动到 '.platform/nginx'。””
我对此感到困惑,因为这是我放置文件/文件夹的位置。
我已经尝试完全删除 .ebextensions 文件夹并得到同样的错误。
我尝试从全新的 beanstalk 环境开始,但仍然出现该错误。我不明白 beantalk 是如何管理这个的。
【问题讨论】:
-
您确定要部署您认为的应用版本吗?也许您需要先将更改提交到您的存储库,或者使用错误的 zip 文件?
-
很有趣,我能够将相同的 .platform/nginx 目录复制/粘贴到另一个项目并按照我的预期进行部署。我确实从 nginx 收到了重复的 conf 错误,所以我必须检查我之前是否收到过这个错误,但似乎我的命令调用有问题或没有被使用
-
我不知道发生了什么。就像您的
.extensions在旧项目中仍然包含错误的文件夹。 -
嗯...我让它工作了...似乎重复的 nginx 位置是主要错误。我仍然看到一条警告说 .ebextensions/nginx... 出于某种原因将其移至 .platform 。我可以通过添加注释、部署、ssh "cat /var/nginx/nginx.conf" 来确认它实际上是从我的 .platform 复制我的更新 nginx.conf。所以它正在工作,仍然将错误作为“警告”抛出。
-
我愿意,Elastic Beanstalk 设置了一个默认的 /var/nginx/conf.d/elasticbeanstalk/00.app-file.conf,它有一个位置块。我将其用作 api,因此不应通过该路径进入。我在获取 ebextension 配置以从命令中删除默认文件时遇到问题,因此它会在 nginx conf 被复制之前被删除。我需要在那里弄清楚。现在我很高兴它至少在工作。感谢您的帮助和回复。我看到你在类似的帖子中回答了有人在需要命令时使用 container_commands 的问题,哈哈
标签: node.js amazon-web-services nginx amazon-elastic-beanstalk