我已将 .Net 网站部署到 AWS Elastic Beanstalk。我现在想将另一个 .Net Web 项目(Web 服务)部署到由 AWS Elastic Beanstalk 创建的同一个 EC2 实例,但是在发布向导的环境页面中选择“使用和现有环境”是灰色的。
有没有办法做到这一点?
我已将 .Net 网站部署到 AWS Elastic Beanstalk。我现在想将另一个 .Net Web 项目(Web 服务)部署到由 AWS Elastic Beanstalk 创建的同一个 EC2 实例,但是在发布向导的环境页面中选择“使用和现有环境”是灰色的。
有没有办法做到这一点?
不。与其他框架相比,.Net 部署对 EB 有一些限制。您不能在同一实例上部署多个应用程序。
您可以使用 Multicontainer docker 环境部署多个应用程序http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_ecs.html
您不能在同一个实例(或一组实例,例如由 ElasticBeastalk 形成的实例)上部署“网站”和“Web 应用程序”,因为它们运行不同的资源和策略。这是根据我在他们的网站上遇到的教程。
也许这个包可以帮助您在单个 Elastic Beanstalk 实例 (Apache) 上运行多个应用程序/网站:https ://github.com/tscheiki/ElasticDeploy
您还可以使用 Visual Studio AWS Toolkit 进行多应用程序部署:
这是 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。