

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

# 提供靜態檔案
<a name="environment-cfg-staticfiles"></a>

為了改善效能，您可以設定 Proxy 伺服器以提供靜態檔案 (例如 HTML 或影像)，這些靜態檔案都來自 Web 應用程式中的一組目錄。代理伺服器收到位於指定路徑下的檔案請求時，會直接提供檔案而非將請求路由至您的應用程式。

Elastic Beanstalk 支援設定代理以根據 Amazon Linux 2 在大多數平台分支上提供靜態檔案。唯一的例外是 Docker。

**注意**  
在 Python 和 Ruby 平台上，預設情況下 Elastic Beanstalk 設定一些靜態資料夾。如需詳細資訊，請參閱 [Python](create-deploy-python-container.md#python-platform-staticfiles) 和 [Ruby](create_deploy_Ruby.container.md#create_deploy_Ruby.container.console.staticfiles) 靜態檔案的組態部分。您可以按照本頁的說明來設定其他資料夾。

## 使用主控台設定靜態檔案
<a name="environment-cfg-staticfiles.console"></a>

**若要設定代理伺服器來提供靜態檔案**

1. 開啟 [Elastic Beanstalk 主控台](https://console.aws.amazon.com/elasticbeanstalk)，然後在**區域**清單中選取您的 AWS 區域。

1. 在導覽窗格中，選擇**環境**，然後在清單中選擇您環境的名稱。

1. 在導覽窗格中，選擇**組態**。

1. 在**更新、監控和日誌記錄**組態類別中，選擇**編輯**。

1. 捲動至**平台軟體**區段，找到**靜態檔案**群組。

    

   1. 若要新增靜態檔案對應，請選取**新增靜態檔案**。在出現的額外列中，您將輸入提供靜態檔案的*路徑*以及包含所提供靜態檔案的*目錄*。
      + 在**路徑**欄位中，以斜線 (`/`) 作為路徑名稱的開頭 (例如，「*/images*」)。
      + 在**目錄**欄位中，指定位於應用程式原始程式碼根目錄的目錄名稱。請勿以斜線作為目錄的開頭 (例如，「*static/image-files*」)。
**注意**  
如果沒有看見 **Static files** (靜態檔案) 區段，您必須使用[組態檔案](ebextensions.md)。如需詳細資訊，請參閱本頁上的[使用組態選項設定靜態檔案](#environment-cfg-staticfiles.namespace)。

   1. 若要移除應對，請按一下**移除**。

1. 若要儲存變更，請選擇頁面底部的**儲存變更**。

## 使用組態選項設定靜態檔案
<a name="environment-cfg-staticfiles.namespace"></a>

您可以使用[組態檔案](ebextensions.md)，使用組態選項來設定靜態檔案路徑和目錄位置。您可以將組態檔案新增至應用程式的來源套件，並在建立環境或稍後部署期間部署。

如果您的環境使用以 Amazon Linux 2 為基礎的平台分支，請使用 `aws:elasticbeanstalk:environment:proxy:staticfiles` 命名空間。

下列範例組態檔案會通知代理伺服器在路徑上提供 `statichtml` 資料夾中的檔案，以及在路徑 `/html` 上提供路徑 `/images` 的 `staticimages` 資料夾中的檔案。

**Example .ebextensions/static-files.config**  

```
option_settings:
  aws:elasticbeanstalk:environment:proxy:staticfiles:
    /html: statichtml
    /images: staticimages
```

如果您的 Elastic Beanstalk 環境使用 Amazon Linux AMI 平台版本 (Amazon Linux 2 之前的版本)，請閱讀以下額外資訊：

### Amazon Linux AMI 平台特定的命名空間
<a name="environment-cfg-staticfiles.namespace.specific"></a>

在 Amazon Linux AMI 平台分支上，靜態檔案組態命名空間因平台而異。如需詳細資訊，請參閱下列其中一個頁面：
+ [Go 組態命名空間](go-environment.md#go-namespaces)
+ [Java SE 組態命名空間](java-se-platform.md#java-se-namespaces)
+ [Tomcat 組態命名空間](java-tomcat-platform.md#java-tomcat-namespaces)
+ [Node.js 組態命名空間](create_deploy_nodejs.container.md#nodejs-namespaces)
+ [Python 組態命名空間](create-deploy-python-container.md#python-namespaces)