

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

# 提供静态文件
<a name="environment-cfg-staticfiles"></a>

为了提高性能，您可以配置代理服务器，从 Web 应用程序内的一组目录中提供静态文件（例如 HTML 或图像）。当代理服务器收到对指定路径下的某个文件的请求时，它将直接提供此文件，而不是将请求路由至您的应用程序。

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.amazonaws.cn/elasticbeanstalk) 控制台，然后**在 “区域” 列表中，选择您**的。 Amazon Web Services 区域

1. 在导航窗格中，选择 **Environments**（环境），然后从列表中选择环境的名称。

1. 在导航窗格中，选择 **Configuration**（配置）。

1. 在 **Updates, monitoring, and logging**（更新、监控和日志记录）配置类别中，选择 **Edit**（编辑）。

1. 滚动到 **Platform software**（平台软件）部分并找到 **Static files**（静态文件）组。

    

   1. 要添加静态文件映射，请选择 **Add static files**（添加静态文件）。在出现的额外一行中，您将输入提供静态文件的*路径*和包含要提供的静态文件的*目录*。
      + 在 **Path**（路径）字段中，路径名称以斜杠 (`/`) 开头（例如，“*/images*”）。
      + 在 **Directory**（目录）字段中，指定位于应用程序源代码根目录中的目录名称。不要用斜杠开头（例如，“*static/image-files*”）。
**注意**  
如果看不到**静态文件**部分，您必须使用[配置文件](ebextensions.md)至少添加一个映射。有关详细信息，请参阅此页上的 [使用配置选项配置静态文件](#environment-cfg-staticfiles.namespace)。

   1. 要删除映射，请选择 **Remove**（删除）。

1. 要保存更改，请选择页面底部的 **Apply**（应用）。

## 使用配置选项配置静态文件
<a name="environment-cfg-staticfiles.namespace"></a>

您可以使用[配置文件](ebextensions.md)来配置静态文件路径，以及使用配置选项来配置目录位置。您可以将配置文件添加到应用程序的源包中，并在创建环境时或稍后的部署期间进行部署。

如果您的环境使用基于 Amazon Linux 2 的平台分支，请使用 `aws:elasticbeanstalk:environment:proxy:staticfiles` 命名空间。

以下示例配置文件告诉代理服务器在 `/html` 路径的文件夹 `statichtml` 中提供文件，并在路径 `/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)