Amazon Elastic Beanstalk ebextension将nginx配置参数添加到默认配置中

时间:2018-07-24 15:00:47

标签: amazon-web-services nginx elastic-beanstalk

我正在使用一个zip文件部署我的应用程序,该文件包含我的应用程序jar,docker配置文件和一个.ebextensions文件夹,其中包含一个nginx/conf.d/custom.config文件。

在我的custom.config中,只有一行可以增加nginx上传文件的大小限制:

client_max_body_size: 16M

但是控制台显示:

  

错误处理文件(跳过):“。ebextensions / nginx / conf.d / custom.config”-包含无效密钥:“ client_max_body_size”。有关有效密钥的信息,请参见http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

我遵循的guide扩展了默认的nginx设置。 引用:

要扩展Elastic Beanstalk的默认nginx配置,请将.conf配置文件添加到应用程序源包中名为.ebextensions/nginx/conf.d/的文件夹中。 Elastic Beanstalk的nginx配置自动在此文件夹中包含.conf个文件。

我将.conf更改为.config,因为第一个在部署过程中甚至没有触发ELB环境更新。

3 个答案:

答案 0 :(得分:1)

我尝试了所有添加实现级别配置的.ebextensions方法,但在最新的Amazon Linux AMI中没有帮助。对于最新的Amazon Linux AMI,您需要遵循以下结构以增加上传大小。您需要遵循此结构以增加上传大小限制。

将以下文件夹设置添加到项目文件夹的根目录中。

文件夹结构(.platform / nginx / conf.d / proxy.conf)

.platform/
         nginx/
              conf.d/
                    proxy.conf

将此行添加到proxy.conf(在.platform / nginx / conf.d /文件夹中)

client_max_body_size 50M;

提交此文件,然后使用eb deploy重新部署。

答案 1 :(得分:0)

我认为Elastic Beanstalk正在尝试将custom.config作为EB配置文件进行处理。尝试将custom.config移至.ebextensions/nginx/custom.conf(注意文件扩展名的更改)

答案 2 :(得分:0)

我设法通过添加一个beantalk配置文件.ebextensions/add_nginx_config.config来使其工作,该文件将我的custom-nginx.conf文件复制到ec2实例的conf.d文件夹中。

add_nginx_config.config:

container_commands:
  copy:
    command: "cp nginx-custom.conf /etc/nginx/conf.d/"

所以我的应用程序资源束树如下所示:

app.zip
|-application.yml
|-app.jar
|-nginx-custom.conf
|-.ebextensions
  |-add_nginx_config.config