本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Elastic Beanstalk Linux 平台
Elastic Beanstalk Linux 平台提供了大量开箱即用的功能。您可以通过多种方式扩展平台以支持您的应用程序。有关更多信息,请参阅 扩展 Elastic Beanstalk Linux 平台。
Elastic Beanstalk 支持的大多数平台都基于 Linux 操作系统。具体而言,这些平台基于亚马逊 Linux(由提供的 Linux 发行版) Amazon。Elastic Beanstalk Linux 平台使用亚马逊弹性计算云 EC2(亚马逊)实例,这些实例运行亚马逊 Linux。
主题
受支持的 Amazon Linux 版本
Amazon Elastic Beanstalk 支持基于亚马逊 Linux 2 和亚马逊 Linux 2023 的平台。
有关 Amazon Linux 2 和 Amazon Linux 2023 的更多信息,请参阅以下文件:
-
亚马逊 Linux 2 — 亚马逊 EC2 用户指南中的亚马逊 L inux。
-
Amazon Linux 2023 – Amazon Linux 2023 用户指南中的什么是 Amazon Linux 2023?。
有关支持的平台版本的更多信息,请参阅 Elastic Beanstalk 支持的平台。
注意
您可以将应用程序从 Elastic B AL2 eanstalk AL1 或平台分支迁移到 AL2等效的 023 平台分支。有关更多信息,请参阅 将 Elastic Beanstalk Linux 应用程序迁移到 Amazon Linux 2023 或 Amazon Linux 2。
Amazon Linux 2023
Amazon 2023 年 3 月宣布亚马逊 Linux 2023 正式
Elastic Beanstalk Amazon Linux 2 和 Amazon Linux 2023 平台之间具有高度的兼容性。尽管还有一些差异需要注意:
-
实例元数据服务版本 1 (IMDSv1)-在 AL2 023 平台
true上,禁用IMDSv1选项设置默认为。默认设置在 AL2 平台false上。 -
pkg-repo 实例工具 — 该pkg-repo工具不适用于在 023 平台上 AL2运行的环境。但是,您仍然可以手动将软件包和操作系统更新应用到 AL2 023 实例。有关更多信息,请参阅 Amazon Linux 2023 用户指南中的管理软件包和操作系统更新。
-
Apache HTTPd 配置 — 适用于 AL2 023 平台的 Apache
httpd.conf文件有一些与以下平台不同的配置设置: AL2-
默认情况下,拒绝访问服务器的整个文件系统。这些设置在 Apache 网站安全提示
页面上的默认保护服务器文件中进行了描述。 -
拒绝访问所有目录
.htaccess中的设置,但特别启用的目录除外。此设置在 Apache 网站安全提示页面上的保护系统设置中进行了描述。Apache HTTP 服务器教程:.htaccess 文件 页面指出,此设置可能有助于提高性能。 -
拒绝访问带有名称模式
.ht*的文件。此设置阻止 Web 客户端查看.htaccess和.htpasswd文件。
您可以更改您的环境的上述任何配置设置。有关更多信息,请参阅 配置 Apache HTTPD。
-
-
多行环境变量支持 — AL2 023 平台支持 systemd 服务配置中的环境变量和密钥的多行值。Amazon Linux 2 平台不支持多行环境变量值。此增强功能允许您在 AL2 023 平台上使用多行密钥和配置值。有关使用环境变量和密钥的更多信息,请参阅Amazon Linux 2 环境变量中的多行值。
-
CloudWatch 自定义日志转发-已弃用的 Log CloudWatch s 代理(
awslogs软件包)在 AL2 023 平台上不可用。如果您有安装和使用已弃用awslogs代理的自定义日志转发配置,则在从 Amazon Linux 2 迁移到 AL2 023 时,必须更新配置文件以使用统一 CloudWatch 代理。有关更多信息,请参阅 自定义日志文件流式传输。
特定于平台的差异
除了基本操作系统的差异外,Amazon Linux 2 和 AL2 023 运行时平台之间还存在平台特定的差异:
-
.NET 平台分支 — 亚马逊 Linux 2 和 AL2 023 的.NET 平台分支策略有所不同。在 Amazon Linux 2 上,.NET Core 平台在单个平台分支中维护一个轮换窗口,其中包含.NET 主要版本。在 AL2 023 上,每个平台分支都固定到特定的.NET 主要版本(例如.NET 9、.NET 10)。
如果您部署依赖于框架的应用程序(依赖于平台安装的.NET 运行时的应用程序),则必须选择与应用程序的目标.NET 版本相匹配的平台分支。如果您部署自包含的应用程序(捆绑自己的.NET 运行时的应用程序),则无论应用程序的.NET 版本如何,都可以使用任何 AL2 023 .NET 平台分支,因为您的应用程序不依赖于平台安装的运行时。有关更多信息,请参阅 捆绑适用于 .NET Core on Linux Elastic Beanstalk 平台的应用程序。
-
Node.js 版本选择 — 亚马逊 Linux 2 上的 Node.js 平台支持在应用程序
package.json文件中指定 Node.js 版本。 AL2023 上的 Node.js 平台不支持此功能。您必须使用平台分支提供的默认 Node.js 版本。有关 Node.js 版本管理的更多信息,请参阅配置您的应用程序对 Elastic Beanstalk 的依赖项。 -
Ruby Puma 服务器版本 — 亚马逊 Linux 2 上的 Ruby 平台会忽略应用程序
Gemfile.lock文件中指定的 Puma 版本,而是使用平台默认 Puma 版本。 AL2023 上的 Ruby 平台支持中指定的 Puma 版本(Gemfile.lock如果存在)。如果未指定版本,则平台将安装平台默认 Puma 版本。 -
PHP 软件包的可用性 — 亚马逊 Linux 2 PHP 平台上提供的某些软件包在 AL2 023 PHP 平台上不可用:
-
MySQL 客户端包 —
mysql和mysql-devel命令行客户端软件包未安装在 AL2 023 PHP 平台上。如果您的应用程序需要 MySQL 数据库连接,请使用两个平台上都提供的 PHPmysqli或pdo_mysql扩展。 -
Compass 和 Ruby 工具 — Compass CSS 框架支持的
ruby-devel和rubygems软件包未安装在 AL2 023 PHP 平台上。指南针已被弃用。可以考虑使用现代 CSS 预处理工具作为替代工具。
-
-
Go 版本控制工具 — Bazaar 版本控制系统 (
bzr) 在 AL2 023 Go 平台上不可用。Bazaar 已被弃用,未包含在 AL2 023 软件包存储库中。改用 Git、Mercurial 或 Subversion 进行版本控制,所有这些都在 AL2 023 Go 平台上可用。
Elastic Beanstalk Linux 平台列表
下面的列表提供了 Elastic Beanstalk 针对不同编程语言和 Docker 容器支持的 Linux 平台。Elastic Beanstalk 为所有平台提供基于 Amazon Linux 2 和 Amazon Linux 2023 的平台。要了解有关平台的更多信息,请选择对应的链接。