特定于平台的选项 - AWS Elastic Beanstalk

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

特定于平台的选项

某些 Elastic Beanstalk 平台定义特定于平台的选项命名空间。下面列出了每个平台的这些命名空间及其选项。

注意

以前,在基于 Amazon Linux AMI(在 Amazon Linux 2 之前)的平台版本中,以下两个功能及其各自的命名空间被视为特定于平台的功能,并且在此处按平台列出:

在 Amazon Linux 2 平台版本中,Elastic Beanstalk 以一致的方式在所有支持平台上实现这些功能。相关的命名空间现在列在 面向所有环境的常规选项 页面中。对于命名空间名称不同的平台,我们只在此页面上提到它们。

Docker 平台选项

以下 Docker 特定的配置选项适用于 Docker 和预配置的 Docker 平台。

注意

这些配置选项不适用于

  • 带 Docker Compose 的 Docker 平台 (Amazon Linux 2)

  • 多容器 Docker 平台 (Amazon Linux AMI)

命名空间: aws:elasticbeanstalk:environment:proxy
名称 描述 默认值 有效值

ProxyServer

指定要用作代理的 Web 服务器。

nginx

nginx

none - Amazon Linux AM仅限 Docker(含 DC)

Go 平台选项

Amazon Linux AMI(先前的 Amazon Linux 2)平台选项

您可以使用以下命名空间来配置代理服务器提供静态文件。当代理服务器收到对指定路径下的某个文件的请求时,它将直接提供此文件,而不是将请求路由至您的应用程序。这将减少您的应用程序必须处理的请求的数量。

在源代码中将代理服务器提供的路径映射到包含静态资产的文件夹。在此命名空间中定义的每个选项都映射不同的路径。

名称

代理服务器将提供文件的路径。

示例:/images 将在 subdomain.eleasticbeanstalk.com/images 提供文件。

包含文件的文件夹名称。

示例:staticimages 将在源代码包顶层从名为 staticimages 的文件夹中提供文件。

Java SE 平台选项

Amazon Linux AMI(先前的 Amazon Linux 2)平台选项

您可以使用以下命名空间来配置代理服务器提供静态文件。当代理服务器收到对指定路径下的某个文件的请求时,它将直接提供此文件,而不是将请求路由至您的应用程序。这将减少您的应用程序必须处理的请求的数量。

在源代码中将代理服务器提供的路径映射到包含静态资产的文件夹。在此命名空间中定义的每个选项都映射不同的路径。

名称

代理服务器将提供文件的路径。

示例:/images 将在 subdomain.eleasticbeanstalk.com/images 提供文件。

包含文件的文件夹名称。

示例:staticimages 将在源代码包顶层从名为 staticimages 的文件夹中提供文件。

具有 Tomcat 的 Java 平台选项

命名空间: aws:elasticbeanstalk:application:environment
名称 描述 默认值 有效值

JDBC_CONNECTION_STRING

外部数据库的连接字符串。

不适用

不适用

有关更多信息,请参阅 环境属性和其他软件设置

命名空间: aws:elasticbeanstalk:container:tomcat:jvmoptions
名称 描述 默认值 有效值

JVM Options

在启动时将命令行选项传递给 JVM。

不适用

不适用

Xmx

最大 JVM 堆大小。

256m

不适用

XX:MaxPermSize

JVM 堆中用于存储类定义和相关元数据的部分。

注意

此选项仅适用于 Java 8 之前的 Java 版本,基于 Amazon Linux 2 和更高版本的 Elastic Beanstalk Tomcat 平台不支持此选项。

64m

不适用

Xms

初始 JVM 堆大小。

256m

不适用

optionName

除了 Tomcat 平台定义的选项外,还指定任意 JVM 选项。

不适用

不适用

命名空间: aws:elasticbeanstalk:environment:proxy
名称 描述 默认值 有效值

GzipCompression

设置为 false 以禁用响应压缩。

仅在 Amazon Linux AMI(在 Amazon Linux 2 之前)平台版本上有效。

true

true

false

ProxyServer

设置要在环境的实例上使用的代理。如果将此选项设置为 apache,则 Elastic Beanstalk 将使用 Apache 2.4

如果应用程序由于代理配置设置不兼容未准备好从 Apache 2.2 迁移,则设置为 apache/2.2此值仅在 Amazon Linux AMI(在 Amazon Linux 2 之前)平台版本上有效。

设置为 nginx 以使用 nginx。这是以 Amazon Linux 2 平台版本开始的默认值。

有关更多信息,请参阅配置 Tomcat 环境的代理服务器

nginx (Amazon Linux 2)

apache (Amazon Linux AMI)

apache

apache/2.2仅限 Amazon Linux AMI

nginx

Linux 上的 .NET Core 平台选项

命名空间: aws:elasticbeanstalk:environment:proxy
名称 描述 默认值 有效值

ProxyServer

指定要用作代理的 Web 服务器。

nginx

nginx

none

.NET 平台选项

命名空间: aws:elasticbeanstalk:container:dotnet:apppool
名称 描述 默认值 有效值

Target Runtime

选择用于应用程序的 .NET Framework 版本。

4.0

2.0

4.0

Enable 32-bit Applications

设置为 True 以运行 32 位应用程序。

False

True

False

Node.js 平台选项

命名空间: aws:elasticbeanstalk:environment:proxy
名称 描述 默认值 有效值

ProxyServer

设置要在环境的实例上使用的代理。

nginx

apache

nginx

Amazon Linux AMI(先前的 Amazon Linux 2)平台选项

名称 描述 默认值 有效值

NodeCommand

用来启动 Node.js 应用程序的命令。如果指定空字符串,则依次使用 app.jsserver.jsnpm start

""

不适用

NodeVersion

Node.js 的版本。例如 4.4.6

支持的 Node.js 版本因 Node.js 平台版本而异。有关目前受支持版本的列表,请参阅 AWS Elastic Beanstalk 平台文档中的 Node.js

注意

如果对您正在使用的 Node.js 版本的支持已从平台中移除,则您必须先更改或移除版本设置再进行平台更新。当在一个或多个 Node.js 版本中识别到安全漏洞时,可能会发生这种情况。

发生此情况时,尝试更新到不支持所配置的 NodeVersion 的新平台版本会失败。为避免需要创建新环境,请将 NodeVersion 配置选项更改为旧平台版本和新平台版本均支持的 Node.js 版本,或移除选项设置,然后执行平台更新。

变化 变化

GzipCompression

指定是否启用 gzip 压缩。如果将 ProxyServer 设置为 none,则会禁用 gzip 压缩。

false

true

false

ProxyServer

指定应使用哪台 Web 服务器来代理与 Node.js 的连接。如果 ProxyServer 设置为 none,则静态文件映射不会生效,并且 gzip 压缩将被禁用。

nginx

apache

nginx

none

您可以使用以下命名空间来配置代理服务器提供静态文件。当代理服务器收到对指定路径下的某个文件的请求时,它将直接提供此文件,而不是将请求路由至您的应用程序。这将减少您的应用程序必须处理的请求的数量。

在源代码中将代理服务器提供的路径映射到包含静态资产的文件夹。在此命名空间中定义的每个选项都映射不同的路径。

注意

如果 aws:elasticbeanstalk:container:nodejs::ProxyFiles 设置为 none,将不应用静态文件设置。

名称

代理服务器将提供文件的路径。

示例:/images 将在 subdomain.eleasticbeanstalk.com/images 提供文件。

包含文件的文件夹名称。

示例:staticimages 将在源代码包顶层从名为 staticimages 的文件夹中提供文件。

PHP 平台选项

命名空间: aws:elasticbeanstalk:container:php:phpini
名称 描述 默认值 有效值

document_root

指定项目的子目录,这也是面向公众的 Web 根目录。

/

将空字符串视为 /,或指定以 / 开头的字符串

memory_limit

分配给 PHP 环境的内存量。

256M

不适用

zlib.output_compression

指定 PHP 在输出时是否应使用压缩。

Off

On

Off

true

false

allow_url_fopen

指定是否允许 PHP 的文件功能从远程位置 (如网站或 FTP 服务器) 检索数据。

On

On

Off

true

false

display_errors

指定错误消息是否应该是输出的一部分。

Off

On

Off

max_execution_time

设置一个脚本在被环境终止前允许运行的最长时间,计算单位为秒。

60

09223372036854775807 (PHP_INT_MAX)

composer_options

设置各种通过 composer.phar 安装并使用 Composer 安装依赖项时要使用的自定义选项。有关包括可用选项在内的更多信息,请转到 http://getcomposer.org/doc/03-cli.md#install

不适用

不适用

命名空间: aws:elasticbeanstalk:environment:proxy
名称 描述 默认值 有效值

ProxyServer

设置要在环境的实例上使用的代理。

nginx

apache

nginx

注意

有关 PHP 平台的更多信息,请参阅使用 Elastic Beanstalk PHP 平台

Python 平台选项

命名空间: aws:elasticbeanstalk:application:environment
名称 描述 默认值 有效值

DJANGO_SETTINGS_MODULE

指定要使用的设置文件。

不适用

不适用

有关更多信息,请参阅 环境属性和其他软件设置

命名空间: aws:elasticbeanstalk:container:python
名称 描述 默认值 有效值

WSGIPath

包含 WSGI 应用程序的文件。此文件必须有一个可调用的 application

在 Amazon Linux 2 Python 平台版本上:application

在 Amazon Linux AMI Python 平台版本上:application.py

不适用

NumProcesses

运行 WSGI 应用程序时,应为进程组启动的守护程序进程数。

1

不适用

NumThreads

运行 WSGI 应用程序时,为了处理进程组内部每个守护程序进程中的请求而要创建的线程数。

15

不适用

命名空间: aws:elasticbeanstalk:environment:proxy
名称 描述 默认值 有效值

ProxyServer

设置要在环境的实例上使用的代理。

nginx

apache

nginx

Amazon Linux AMI(先前的 Amazon Linux 2)平台选项

您可以使用以下命名空间来配置代理服务器提供静态文件。当代理服务器收到对指定路径下的某个文件的请求时,它将直接提供此文件,而不是将请求路由至您的应用程序。这将减少您的应用程序必须处理的请求的数量。

在源代码中将代理服务器提供的路径映射到包含静态资产的文件夹。在此命名空间中定义的每个选项都映射不同的路径。

默认情况下,Python 环境中的代理服务器提供 static 路径下名为 /static 的文件夹中的任何文件。

命名空间: aws:elasticbeanstalk:container:python:staticfiles
名称

代理服务器将提供文件的路径。

示例:/images 将在 subdomain.eleasticbeanstalk.com/images 提供文件。

包含文件的文件夹名称。

示例:staticimages 将在源代码包顶层从名为 staticimages 的文件夹中提供文件。

Ruby 平台选项

命名空间: aws:elasticbeanstalk:application:environment
名称 描述 默认值 有效值

RAILS_SKIP_MIGRATIONS

指定是代表用户的应用程序运行`rake db:migrate`,还是应跳过它。此功能仅适用于 Rails 3 应用程序。

false

true

false

RAILS_SKIP_ASSET_COMPILATION

指定该容器是应代表用户的应用程序运行`rake assets:precompile` ,还是应跳过它。此功能也仅适用于 Rails 3 应用程序。

false

true

false

BUNDLE_WITHOUT

从 Gemfile 安装依赖项时要忽略的组列表,用冒号 (:) 分隔。

test:development

不适用

RACK_ENV

指定可以运行应用程序的环境阶段。常见的环境示例包括开发、生产和测试。

production

不适用

参阅 环境属性和其他软件设置 了解更多信息。