使用 AWS Elastic Beanstalk 将多个应用程序部署到单个 EC2 实例

Posted

技术标签:

【中文标题】使用 AWS Elastic Beanstalk 将多个应用程序部署到单个 EC2 实例【英文标题】:Deploy multiple applications to a single EC2 instance using AWS Elastic Beanstalk 【发布时间】:2012-06-13 23:53:03 【问题描述】:

我已将一个 .Net 网站部署到 AWS Elastic Beanstalk。我现在想将另一个 .Net Web 项目(Web 服务)部署到由 AWS Elastic Beanstalk 创建的同一个 EC2 实例,但在发布向导的环境页面中选择“使用和现有环境”是灰色的。

有没有办法做到这一点?

【问题讨论】:

几年前问过这个问题。此后开始使用 Azure 网站,它为我提供了当我提出这个问题时想要的灵活性和易用性。 【参考方案1】:

更新:现在可以https://aws.amazon.com/about-aws/whats-new/2016/08/aws-elastic-beanstalk-supports-asp-net-core-and-multi-app-net-support/

没有。与其他框架相比,.Net 部署对 EB 有一些限制。您不能在同一个实例上部署多个应用程序。

【讨论】:

我们可以在php中做以上吗?? 使用 Elastic Beanstalk 将多个应用程序部署到 AWS is now possible @vini 你有没有得到关于使用 php 的问题的答案?我也很好奇这个。【参考方案2】:

可以使用Multicontainer docker环境部署多个应用http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_ecs.html

【讨论】:

【参考方案3】:

您不能在同一个实例(或一组实例,例如由 ElasticBeastalk 形成的实例)上部署“网站”和“Web 应用程序”,因为它们运行不同的资源和策略。这是根据我在他们网站上看到的教程。

【讨论】:

【参考方案4】:

也许这个包可以帮助您在单个 Elastic Beanstalk 实例 (Apache) 上运行多个应用程序/网站:https://github.com/tscheiki/ElasticDeploy

【讨论】:

【参考方案5】:

您还可以使用 Visual Studio AWS Toolkit 进行多应用部署:

docs.aws.com/toolkit-for-visual-studio

【讨论】:

【参考方案6】:

这是 Tomcat 环境的操作方法 - https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-multiple-war-files.html。

要创建包含多个 WAR 文件的应用程序源包,请使用以下结构组织 WAR 文件。

MyApplication.zip
├── .ebextensions
├── .platform
├── foo.war
├── bar.war
└── ROOT.war

当您将包含多个 WAR 文件的源包部署到 AWS Elastic Beanstalk 环境时,可以从根域名之外的不同路径访问每个应用程序。前面的示例包括三个应用程序:foo、bar 和 ROOT。 ROOT.war 是一个特殊的文件名,它告诉 Elastic Beanstalk 在根域中运行该应用程序,以便三个应用程序在 http://MyApplication.elasticbeanstalk.com/foo、http://MyApplication.elasticbeanstalk.com/bar 和 http://MyApplication.elasticbeanstalk.com 可用。

【讨论】:

以上是关于使用 AWS Elastic Beanstalk 将多个应用程序部署到单个 EC2 实例的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk 上禁止使用 Django 403

AWS Elastic Beanstalk

使用 AWS CodeBuild 和 EB CLI 部署到 AWS Elastic Beanstalk

Elastic Beanstalk (AWS) 的休眠配置

如何使用 Elastic beanstalk 和 Dockerrun.aws.json 正确部署到 AWS?

AWS 和 Elastic Beanstalk