我有一个AWS EB环境的Python 3.7运行亚马逊Linux 2/3.1.2使用Nginx作为代理服务器。我试图添加一个gzip压缩我的应用程序。我尝试了几个教程在线,但他们似乎都不适合我。我也是新的AWS,所以可能不熟悉它的一些服务。
目前,我有这样一个目录树:
-- .ebextensions
-- .platform
-- nginx
-- conf.d
-- gzip.conf
-- (other files)
我尝试在.ebextensions
中添加一个配置文件来创建一个.conf
以启用gzip压缩,但似乎不起作用。我还尝试将代理切换到Apache,但没有成功。This教程说,对于最新版本的Amazon Linux 2,nginx配置文件应该放在.platform
文件夹中,所以我照上面提到的那样做了。然而,我的gzip.conf
文件似乎仍然无法工作-文件仍然以其原始格式呈现。
当前我的gzip. conf:
gzip on;
gzip_vary on;
gzip_min_length 10240;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/html text/css text/xml text/javascript application/x-javascript application/xml;
gzip_disable "MSIE [1-6]\.";
- EDIT:**我使用SSH连接到我的eb示例,发现此文件位于
/etc/nginx/conf.d/gzip.conf
,内容与我上传的内容相同。此路径是否正确以启用gzip?
- EDIT:**我使用SSH连接到我的eb示例,发现此文件位于
任何帮助将不胜感激!
3条答案
按热度按时间h5qlskok1#
.platform/nginx/nginx.conf
文件中的默认设置。/etc/nginx/nginx.conf
中仍然包含默认设置gzip off
.由于某种原因,我的扩展名没有覆盖这个设置.我想这是因为在Amazon Linux 2中,proxy configurations should be under.platform/nginx
directory.nginx.conf
的副本,将其添加到项目目录.platform/nginx
中,注解掉gzip的原始设置,并添加了新的gzip设置。部署后,终于起作用了!希望这对其他有同样问题的人有帮助。
感谢@Marcin建议使用ssh进入我的示例,这帮助我弄清楚了发生了什么。
mkh04yzy2#
@Parzival的另一种解决方案是,您可以覆盖应用程序配置文件,而不是覆盖根nginx配置。
要获取应用程序配置文件,请将 * ssh * 导入示例并从以下位置获取配置文件:第一个月
我的是这样的:
将其保存到我的项目中,位置为:
.platform/nginx/conf.d/elasticbeanstalk/00_application.conf
编辑了一下,加上了我需要的:
然后,创建一个新的bundle并部署它,Beanstalk将使用您自定义的
00_application.conf
而不是默认的00_application.conf
。注:
gzip_types
设置text/*
,根文件中的默认配置是:qncylg1j3#
我用我留在
.platform/hooks/predeploy
上的一个小脚本修复了这个问题。代码片段如下。