如何在 Amazon Linux 2 平台上使用 Elastic Beanstalk 部署的 Node Js 中实现 gzip 压缩?

Posted

技术标签:

【中文标题】如何在 Amazon Linux 2 平台上使用 Elastic Beanstalk 部署的 Node Js 中实现 gzip 压缩?【英文标题】:How to acheive gzip compression in Nodejs deployed using Elastic Beanstalk on Amazon Linux 2 platform? 【发布时间】:2020-12-15 03:19:51 【问题描述】:

根据文档,他们使用 Amazon Linux 2 平台版本上的配置删除了 GzipCompression 选项。

【问题讨论】:

【参考方案1】:

由于所有基于 AL2 的平台都使用 nginx 作为默认反向代理,您可以通过覆盖默认的 nginx.conf 或添加其他配置文件在 nginx 配置中打开 GzipCompression。

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-linux-extend.html#platforms-linux-extend.proxy.nginx

To extend the Elastic Beanstalk default nginx configuration, add .conf configuration files to a folder named .platform/nginx/conf.d/ in your application source bundle. The Elastic Beanstalk nginx configuration includes .conf files in this folder automatically.

~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- conf.d
|           `-- myconf.conf
`-- other source files

To override the Elastic Beanstalk default nginx configuration completely, include a configuration in your source bundle at .platform/nginx/nginx.conf:

~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- nginx.conf
`-- other source files

在基于AL2的EB平台的nginx默认配置中,nginx.conf文件中已经有gzip压缩选项,即'gzip off;'。如果选择扩展默认的 nginx 配置,还需要在 nginx.conf 文件中删除该配置。

应该包含在 nginx 配置文件中的 gzip 配置将是这样的。

gzip on;
gzip_comp_level 4;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

【讨论】:

正如你提到的,如果我选择扩展默认配置,我需要在 nginx.conf 文件中删除此配置。我知道怎么扩展但是怎么删除???

以上是关于如何在 Amazon Linux 2 平台上使用 Elastic Beanstalk 部署的 Node Js 中实现 gzip 压缩?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Amazon AWS 上设置一台 Linux 服务器

如何在 Amazon linux 2 上启用 cgroups V2

如何使用 Amazon Linux 2、单容器、无 Docker Compose 在 AWS Elastic Beanstalk 上获取 SYS_PTRACE

pg_dump:如何在 Amazon Linux 上安装 PostgreSQL 9.5.2?

如何在 amazon micro ec2 服务器(Amazon Linux)上安装 SVN 客户端

Elastic Beanstalk 上的 PostgreSQL (Amazon Linux 2)