3

为了在资源(和成本)上保持保守,我想在同一个 EC2 beanstalk 实例上放置超过 1 个 war 文件(代表不同的应用程序)。

然后我想使用warA将appl A映射到myapp.elasticbeanstalk.com/applA,使用warB将appl B映射到myapp.elasticbeanstalk.com/applB

但是,控制台允许您为任何实例上传单个且唯一的战争。

1)所以,我知道当前界面不可能。我对吗 ?

2)虽然,可以通过“非标准”方式实现这一点:通过接口上传warA并通过ssh、ftp等将warB复制/更新到/tomcat6/webapps?

3) 对于 (2),我担心每次 BT 健康检查器决定终止实例(例如连续失败的检查)并重新启动一个新实例时,B 都会丢失。然后,我必须将 warB 作为 applA 使用的自定义 AMI 的一部分,并在每次更新 warB 时创建此 AMI 的新版本

请帮我

问候

迪迪埃

4

4 回答 4

3

虽然有一种解决方法,但不使用 Beanstalk,而是使用普通的 EC2:

https://forums.aws.amazon.com/thread.jspa?messageID=229121

http://blog.jetztgrad.net/2011/02/how-to-customize-an-amazon-elastic-beanstalk-instance/

无耻插件:虽然与目录无关,但我为 Maven 2 制作了一个插件,用于自动化 Beanstalk 部署和 Elastic MapReduce。查看http://beanstalker.ingenieux.com.br/

于 2011-06-27T07:03:44.573 回答
3

你是对的 !你不能(还)在beantalk中进行多次战争。

亚马逊论坛答案在这里 https://forums.aws.amazon.com/thread.jspa?messageID=219284

于 2011-04-07T17:28:51.420 回答
1

这是一个老问题,但我花了一些时间才找到更新的答案,所以我想我会分享我的发现。

Elastic Beanstalk 现在原生支持多 WAR 部署(并且已经有一段时间了)。

只需创建一个新的 zip 文件,其中包含每个 WAR 文件。如果您希望其中一个在根上下文名称中可用,则它是 ROOT.war,就像您手动部署到 Tomcat 时一样。

您的 zip 文件结构应如下所示:

我的应用程序.zip

├── .ebextensions

├── foo.war

├── bar.war

└── ROOT.war

完整的详细信息可以在Elastic Beanstalk 文档中找到。

.ebextensions 文件夹是可选的,可以包含自定义部署到您的环境的资源的配置文件。有关使用配置文件的信息,请参阅Elastic Beanstalk 环境配置

于 2015-07-23T05:53:21.840 回答
0

还有另一个 hack,它允许您通过安装 java 并使用 node.js 引导脚本来引导任意 jar:

http://docs.ingenieux.com.br/project/beanstalker/using-arbitrary-platforms.html

希望能帮助到你

于 2014-03-22T01:04:06.147 回答