如何在 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?