在Linux上的AWS Elastic Beanstalk中部署多个ASP.NET核心应用程序(使用Kestrel服务器)
我在Visual Studio解决方案中有两个ASP.NET核心应用程序(API和UI),希望在Linux上部署到单个AWS Elastic Beanstalk并使用Kestrel服务器(单个URL和不同端口)。如何实现这一点?AWS Elastic Beanstalk支持在Linux上的.NET Core中运行多个应用程序。Elastic Beanstalk的.NET Core on Linux文档包含一个有用的部分,其中包括一个示例zip文件,其中包含两个将一起部署在一个Elastic Beanstalk实例上的应用程序: 您可以将在Linux上的AWS Elastic Beanstalk中部署多个ASP.NET核心应用程序(使用Kestrel服务器),linux,amazon-web-services,asp.net-core,amazon-elastic-beanstalk,kestrel,Linux,Amazon Web Services,Asp.net Core,Amazon Elastic Beanstalk,Kestrel,我在Visual Studio解决方案中有两个ASP.NET核心应用程序(API和UI),希望在Linux上部署到单个AWS Elastic Beanstalk并使用Kestrel服务器(单个URL和不同端口)。如何实现这一点?AWS Elastic Beanstalk支持在Linux上的.NET Core中运行多个应用程序。Elastic Beanstalk的.NET Core on Linux文档包含一个有用的部分,其中包括一个示例zip文件,其中包含两个将一起部署在一个Elastic Be
dotnetcorelinuxmultipleapps.zip
文件直接部署到ElasticBeanstalk以查看其运行。有关如何将zip文件部署到Elastic Beanstalk的明确说明,请参阅指南。在您的例子中,您需要上传示例dotnetcorelinuxmultipleapps.zip,而不是教程中引用的单个app-zip
每个部署的应用程序将在每个应用程序的launchSettings.json
文件中定义的本地端口上的Elastic Beanstalk应用程序服务器实例上运行。请注意,此文件在dotnet core linux multiple apps.zip存档中包含的两个示例应用中都不可见,因为这些应用在包含在zip文件中之前已使用dotnet publish
命令编译
告诉Elastic Beanstalk映射到每个运行应用程序本地端口的路径的相关配置位于平台/nginx/conf.d/elasticbeanstalk/01_custom.conf
文件中,该文件位于dotnet core linux multiple apps.zip
中。有关此文件所包含内容的更多信息,请参阅Linux上的.NET内核。请注意,默认情况下,Elastic Beanstalk会将/
映射到端口5000
,因此您只需为其他应用指定其他反向代理映射,假设您的一个应用配置为在默认端口5000
上运行
总而言之:
通过查看每个应用的launchSettings.json
文件,确保您知道每个应用将在哪个本地端口上运行
构建每个.NET核心应用程序,并将它们放在一个文件夹中,通过压缩该文件夹创建要部署到Elastic Beanstalk的工件。为了便于讨论,我们将此文件夹称为build
在build
文件夹(示例名称,见上文)中,创建一个platform/nginx/conf.d/elasticbeanstalk/01_custom.conf
文件,该文件描述如何将每个应用程序的端口映射到所需路径
压缩你的“构建”文件夹。有关此步骤的帮助,请参阅
将源包部署到Elastic Beanstalk。有关此步骤的帮助,请参阅文档
AWS Elastic Beanstalk支持在Linux上的.NET内核中运行多个应用程序。Elastic Beanstalk的.NET Core on Linux文档包含一个有用的部分,其中包括一个示例zip文件,其中包含两个将一起部署在一个Elastic Beanstalk实例上的应用程序:
您可以将dotnetcorelinuxmultipleapps.zip
文件直接部署到ElasticBeanstalk以查看其运行。有关如何将zip文件部署到Elastic Beanstalk的明确说明,请参阅指南。在您的例子中,您需要上传示例dotnetcorelinuxmultipleapps.zip,而不是教程中引用的单个app-zip
每个部署的应用程序将在每个应用程序的launchSettings.json
文件中定义的本地端口上的Elastic Beanstalk应用程序服务器实例上运行。请注意,此文件在dotnet core linux multiple apps.zip存档中包含的两个示例应用中都不可见,因为这些应用在包含在zip文件中之前已使用dotnet publish
命令编译
告诉Elastic Beanstalk映射到每个运行应用程序本地端口的路径的相关配置位于平台/nginx/conf.d/elasticbeanstalk/01_custom.conf
文件中,该文件位于dotnet core linux multiple apps.zip
中。有关此文件所包含内容的更多信息,请参阅Linux上的.NET内核。请注意,默认情况下,Elastic Beanstalk会将/
映射到端口5000
,因此您只需为其他应用指定其他反向代理映射,假设您的一个应用配置为在默认端口5000
上运行
总而言之:
通过查看每个应用的launchSettings.json
文件,确保您知道每个应用将在哪个本地端口上运行
构建每个.NET核心应用程序,并将它们放在一个文件夹中,通过压缩该文件夹创建要部署到Elastic Beanstalk的工件。为了便于讨论,我们将此文件夹称为build
在build
文件夹(示例名称,见上文)中,创建一个platform/nginx/conf.d/elasticbeanstalk/01_custom.conf
文件,该文件描述如何将每个应用程序的端口映射到所需路径
压缩你的“构建”文件夹。有关此步骤的帮助,请参阅
将源包部署到Elastic Beanstalk。有关此步骤的帮助,请参阅文档
您是否可以执行单个弹性Beanstalk部署,将应用程序放在不同的URL路径而不是不同的端口上?查找一个URL并使用不同的端口。谢谢。是的,单弹性Beanstalk部署可以将两个应用程序放在不同的URL路径上,而不是放在不同的端口上。请告知。您好,Arkaya您是否可以执行单个弹性Beanstalk部署,将您的应用程序放在不同的URL路径上,而不是放在不同的端口上?查找一个URL并使用不同的端口。谢谢。是的,单个弹性Beanstalk部署将两个应用程序放在不同的URL路径上