use*_*755 3 linux amazon-web-services kestrel amazon-elastic-beanstalk asp.net-core
我在 Visual Studio 解决方案中有两个 ASP.NET Core 应用程序(API 和 UI),想要部署到 Linux 上的单个 AWS Elastic Beanstalk 并使用 Kestrel 服务器(单个 URL 和不同端口)。我怎样才能做到这一点?
AWS Elastic Beanstalk 支持在 Linux 上的 .NET Core 中运行多个应用程序。Elastic Beanstalk 的 Linux 上的 .NET Core 文档包含有关捆绑应用程序的有用部分,其中包括一个示例 zip 文件,其中包含要在一个 Elastic Beanstalk 实例上一起部署的两个应用程序:dotnet-core-linux-multiple-apps.zip。
您可以将该dotnet-core-linux-multiple-apps.zip文件直接部署到 Elastic Beanstalk 以查看其运行情况。有关如何将 zip 文件部署到 Elastic Beanstalk 的明确说明,请参阅教程 - Linux 上的 .NET Core指南。在您的情况下,您需要上传示例dotnet-core-linux-multiple-apps.zip而不是教程引用的单个应用程序 zip。
每个已部署的应用程序都将在每个应用程序文件中定义的本地端口上的 Elastic Beanstalk 应用程序服务器实例上运行launchSettings.json。请注意,此文件在存档内包含的任何示例应用程序中都不可见,因为这些应用程序在包含在 zip 文件中之前dotnet-core-linux-multiple-apps.zip已经使用该命令进行了编译。dotnet publish
告诉 Elastic Beanstalk 将哪些路径映射到每个正在运行的应用程序的本地端口的相关配置位于该platform/nginx/conf.d/elasticbeanstalk/01_custom.conf文件内,位于dotnet-core-linux-multiple-apps.zip. 有关此文件包含的内容的详细信息,请参阅 Linux 上的 .NET Core代理服务器配置文档。请注意,默认情况下,Elastic Beanstalk 将映射/到 port 5000,因此您只需为其他应用程序指定额外的反向代理映射(假设您的应用程序之一配置为在默认 port 上运行)5000。
所以,总结一下:
通过查看每个应用程序的文件,确保您知道每个应用程序将在哪个本地端口上运行launchSettings.json。
构建每个 .NET Core 应用程序,并将它们放在一个文件夹中,您将压缩该文件夹以创建要部署到 Elastic Beanstalk 的工件。为了便于讨论,我们将此文件夹称为build。
在您的build文件夹(示例名称,请参见上文)中,创建一个platform/nginx/conf.d/elasticbeanstalk/01_custom.conf文件,该文件描述如何将每个应用程序的端口映射到您所需的路径。
压缩你的“build”文件夹。有关此步骤的帮助,请参阅配置应用程序源包文档
将源包部署到 Elastic Beanstalk。有关此步骤的帮助,请参阅管理应用程序版本文档。
| 归档时间: |
|
| 查看次数: |
1196 次 |
| 最近记录: |