应用程序源包在上传到 AWS Elastic Beanstalk 时不起作用
Application source bundle doesn't work when uploaded to AWS Elastic Beanstalk
我正在尝试上传在 Linux 2 Coretto 11 环境中运行的 Java/Spring 启动应用程序。当我上传独立的 JAR 文件时一切正常,但我开始创建一个应用程序包,这样我就可以配置环境,特别是 client_max_body_size
.
看起来应用程序正在启动,但随后发生了一些错误,信息不多 (logs)。在 EB 控制台中,我不断收到错误消息:During an aborted deployment, some instances may have deployed the new application version。为确保所有实例都是 运行 相同版本,请重新部署适当的应用程序版本。
我将包作为 .zip 文件上传 - 它包含 JAR、Procfile 和包含配置文件 (~/.ebextensions/01_files.config) 的 .ebextensions 目录,所有这三个文件都是在 zip 文件的根目录中。后两者如下图:
过程文件:web: java -Dfile.encoding=UTF-8 -Xms2g -Xmx2g -jar DocumentSummarizer-1.0-SNAPSHOT.jar
配置文件:
01_files.config
配置文件有正确的 YAML 缩进(2 个空格)。
我觉得我已经尝试了 Whosebug 和 Amazon 文档中的所有变体来实现这个目标,所以此时我只是在用头撞墙。任何帮助将不胜感激。
更新:
u/Marcin的答案是正确的(nginx 设置需要在.platform/nginx/conf.d/mynginx.conf 中)。在那之后我处理了一段时间的第二个问题是值后面没有分号。我认为只有当你有多个值时才需要它,但它不会正常工作,除非每个值后面都有一个(即 client_max_body_size 20MB;
)。
一个可能的原因是您正在使用基于 Amazon Linux 2 (AL2) 的 EB 环境。如果是这样,那么你的 01_files.config 是不正确的.
对于 AL2,.platform/nginx/conf.d/
中的 nginx
设置 should be provided,而不是 .ebextentions
。因此,例如,您可以创建以下配置文件:
.platform/nginx/conf.d/mynginx.conf
内容为:
client_max_body_size 20M
请注意,可能还有许多其他问题,这些问题尚不明显,特别是如果您遵循了 AL1 的任何说明。原因是AL1和AL2之间有很多差异。
我正在尝试上传在 Linux 2 Coretto 11 环境中运行的 Java/Spring 启动应用程序。当我上传独立的 JAR 文件时一切正常,但我开始创建一个应用程序包,这样我就可以配置环境,特别是 client_max_body_size
.
看起来应用程序正在启动,但随后发生了一些错误,信息不多 (logs)。在 EB 控制台中,我不断收到错误消息:During an aborted deployment, some instances may have deployed the new application version。为确保所有实例都是 运行 相同版本,请重新部署适当的应用程序版本。
我将包作为 .zip 文件上传 - 它包含 JAR、Procfile 和包含配置文件 (~/.ebextensions/01_files.config) 的 .ebextensions 目录,所有这三个文件都是在 zip 文件的根目录中。后两者如下图:
过程文件:web: java -Dfile.encoding=UTF-8 -Xms2g -Xmx2g -jar DocumentSummarizer-1.0-SNAPSHOT.jar
配置文件: 01_files.config
配置文件有正确的 YAML 缩进(2 个空格)。
我觉得我已经尝试了 Whosebug 和 Amazon 文档中的所有变体来实现这个目标,所以此时我只是在用头撞墙。任何帮助将不胜感激。
更新:
u/Marcin的答案是正确的(nginx 设置需要在.platform/nginx/conf.d/mynginx.conf 中)。在那之后我处理了一段时间的第二个问题是值后面没有分号。我认为只有当你有多个值时才需要它,但它不会正常工作,除非每个值后面都有一个(即 client_max_body_size 20MB;
)。
一个可能的原因是您正在使用基于 Amazon Linux 2 (AL2) 的 EB 环境。如果是这样,那么你的 01_files.config 是不正确的.
对于 AL2,.platform/nginx/conf.d/
中的 nginx
设置 should be provided,而不是 .ebextentions
。因此,例如,您可以创建以下配置文件:
.platform/nginx/conf.d/mynginx.conf
内容为:
client_max_body_size 20M
请注意,可能还有许多其他问题,这些问题尚不明显,特别是如果您遵循了 AL1 的任何说明。原因是AL1和AL2之间有很多差异。