平台特定選項 - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

平台特定選項

某些 Elastic Beanstalk 平台會定義特定於平台的選項命名空間。這些命名空間及其選項會列在每個平台的下方。

注意

先前在以 Amazon Linux AMI (Amazon Linux 2 之前的版本) 為基礎的平台版本中,下列兩個功能及其各自的命名空間會視為平台特定的功能,並在此列出每個平台:

在 Amazon Linux 2 平台版本中,Elastic Beanstalk 會以一致的方式在所有支援的平台上實作這些功能。相關的命名空間現在會列在 適用於所有環境的一般選項 頁面中。對於具有不同名稱的命名空間平台,我們只會在此頁面上提到它們。

Docker 平台選項

下列 Docker 特定的組態選項會套用至 Docker 和預先設定的 Docker 平台。

注意

這些組態選項不適用於

  • Docker 平台 (Amazon Linux 2) 搭配 Docker Compose

  • 多容器 Docker 平台 (Amazon Linux AMI AL1) - 此平台已淘汰

命名空間:aws:elasticbeanstalk:environment:proxy
名稱 描述 預設 有效值

ProxyServer

指定 Web 伺服器當成 Proxy 使用。

nginx

nginx

noneAmazon Linux AMDocker (僅包含 DC)

Go 平台選項

Amazon Linux AMI (Amazon Linux 2 之前的版本) 平台選項

您可以使用以下命名空間,設定代理伺服器以提供靜態檔案。代理伺服器收到位於指定路徑下的檔案請求時,會直接提供檔案而非將請求路由至您的應用程式。這可減少應用程式必須處理的請求數量。

將代理伺服器提供的路徑對應至包含靜態資產之原始程式碼中的資料夾。您在此命名空間中定義的每個選項都會對應至不同路徑。

名稱 Value

代理伺服器提供檔案的路徑。

範例:/images 將於 subdomain.eleasticbeanstalk.com/images 提供檔案。

內含檔案的資料夾名稱。

範例:staticimages 將自原始碼套件最上層名為 staticimages 的資料夾提供檔案。

Java SE 平台選項

Amazon Linux AMI (Amazon Linux 2 之前的版本) 平台選項

您可以使用以下命名空間,設定代理伺服器以提供靜態檔案。代理伺服器收到位於指定路徑下的檔案請求時,會直接提供檔案而非將請求路由至您的應用程式。這可減少應用程式必須處理的請求數量。

將代理伺服器提供的路徑對應至包含靜態資產之原始程式碼中的資料夾。您在此命名空間中定義的每個選項都會對應至不同路徑。

名稱 Value

代理伺服器提供檔案的路徑。

範例:/images 將於 subdomain.eleasticbeanstalk.com/images 提供檔案。

內含檔案的資料夾名稱。

範例:staticimages 將自原始碼套件最上層名為 staticimages 的資料夾提供檔案。

搭配 Tomcat 平台的 Java 選項

命名空間:aws:elasticbeanstalk:application:environment
名稱 描述 預設 有效值

JDBC_CONNECTION_STRING

外部資料庫的連線字串。

N/A

如需更多資訊,請參閱環境屬性與其他軟體設定

命名空間:aws:elasticbeanstalk:container:tomcat:jvmoptions
名稱 描述 預設 有效值

JVM Options

在啟動時將命令列選項傳送至 JVM。

Xmx

JVM 堆積大小上限。

256m

XX:MaxPermSize

JVM 堆積的一個區段,用來儲存類別定義與相關的中繼資料。

注意

此選項僅適用於 Java 8 之前的 Java 版本,在以 Amazon Linux 2 和更新版本為依據的 Elastic Beanstalk Tomcat 平台上不受支援。

64m

N/A

Xms

初始 JVM 堆積大小。

256m

optionName

除了 Tomcat 平台定義的選項,亦指定任意 JVM 選項。

命名空間:aws:elasticbeanstalk:environment:proxy
名稱 描述 預設 有效值

GzipCompression

設定為 false 以停用回應內容壓縮。

僅適用於 Amazon Linux AMI (Amazon Linux 2 之前的版本) 平台版本。

true

true

false

ProxyServer

設定 Proxy 在您的環境的執行個體上使用。如果您將此選項設定為 apache,則 Elastic Beanstalk 會使用 Apache 2.4

如果您的應用程式因為不相容的代理組態設定而未準備好從 Apache 2.2 遷移,請設定 apache/2.2此數值僅適用於 Amazon Linux AMI (Amazon Linux 2 之前的版本) 平台版本。

設定為 nginx 以使用 nginx。這是從 Amazon Linux 2 平台版本開始的預設值。

如需詳細資訊,請參閱設定代理伺服器

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 伺服器當成 Proxy 使用。

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

設定 Proxy 在您的環境的執行個體上使用。

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,則靜態檔案設定不會套用。

名稱 Value

代理伺服器提供檔案的路徑。

範例:/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 install命令使用 Composer 安裝相依性時要使用的自訂選項。如需詳細資訊,請參閱 https://getcomposer.org 網站上的 安裝

N/A

命名空間:aws:elasticbeanstalk:environment:proxy
名稱 描述 預設 有效值

ProxyServer

設定 Proxy 在您的環境的執行個體上使用。

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

設定 Proxy 在您的環境的執行個體上使用。

nginx

apache

nginx

Amazon Linux AMI (Amazon Linux 2 之前的版本) 平台選項

您可以使用以下命名空間,設定代理伺服器以提供靜態檔案。代理伺服器收到位於指定路徑下的檔案請求時,會直接提供檔案而非將請求路由至您的應用程式。這可減少應用程式必須處理的請求數量。

將代理伺服器提供的路徑對應至包含靜態資產之原始程式碼中的資料夾。您在此命名空間中定義的每個選項都會對應至不同路徑。

根據預設,Python 環境中的代理伺服器會從 static 路徑上名為 /static 的資料夾中提供任何檔案。

命名空間:aws:elasticbeanstalk:container:python:staticfiles
名稱 Value

代理伺服器提供檔案的路徑。

範例:/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

如需詳細資訊,請參閱「環境屬性與其他軟體設定」。