【问题标题】:Docker Elastic Beanstalk ELB Ignores .ebextesnionsDocker Elastic Beanstalk ELB 忽略 .ebextesnions
【发布时间】:2020-09-02 10:01:20
【问题描述】:

我正在通过 CodePipeline 将 Docker 映像部署到使用 Elastic Load Balancer 的 Elastic Beanstalk。

我的文件结构如下:

  • .ebextensions
    • nginx
      • conf.d
        • 弹性豆茎
          • nginx-config.conf

文件里面有如下修改:

 sendfile        on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   10;
        types_hash_max_size 2048;
        client_body_buffer_size 2000M;

我注意到我的配置没有固定。当我连接到由 elasticbeanstalk 创建的实例时,我的/etc/nginx/conf.d/elasticbeanstalk/ 不包含任何配置文件。

我的问题是: 1) 为什么我的 .ebextensions 被忽略? 2) 有没有其他修改nginx配置的方法?

顺便说一句,我的 Dockerrun.aws.json 和 buildspec.yml 都在执行。

【问题讨论】:

  • 我目前也遇到同样的情况。我尝试了通过.ebextensions 中的yaml 配置文件创建.conf 并直接将nginx .conf 文件放在.ebextensions/nginx/conf.d 中的两种方法。两者都没有导致预期的结果。然后我在部署期间密切关注 conf.d 文件夹:我的 .conf 文件实际上是创建的,但整个 conf.d 文件夹在部署的后期被重新创建之后 .conf 已经放在那里。配置更改只是被删除而不是被忽略。不知道如何解决这个问题。

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


【解决方案1】:

对于可能遇到相同问题的任何人,这是我解决它的方法...自定义构建的 AMI。

  1. 转到 EC2 并创建一个实例
  2. 在 Community AMI 选项卡中,查找 elasticbeanstalk nginx 选项卡 3 启动实例并根据您的需要对其进行修改
  3. 停止实例
  4. 从停止的实例创建图像
  5. 将 ami 放入它要求容量的 Elastic Beanstalk 配置部分。

需要注意的问题。不要尝试对 /etc/nginx/nginx.conf 进行任何更改。 EBS 将自动覆盖您放入其中的任何内容。而是将所有修改放在 /etc/nginx/conf.d/somefile.conf 中,这将覆盖 /etc/nginx/nginx.conf 中的任何内容。

【讨论】:

    【解决方案2】:

    在通过过去几年在 Stackoverflow 上发布的针对此问题的不同解决方案(如 this)没有任何成功后,我试图找出数据 conf.d 被覆盖的实际位置从。我找到了文件夹/var/proxy/staging/nginx/conf.d/。我对其进行了测试并将我的自定义 nginx conf 文件复制到该文件夹​​中。它奏效了。因此,您可以在 Beanstalk 上的多容器 Docker 设置的实例上更改 nginx 配置,如下所示:

    # .ebextensions/00_nginx.config
    
    files:
      "/tmp/custom.conf":
        mode: "000644"
        owner: root
        group: root
        content: |
          client_max_body_size 20M;
    
    container_commands:
      01_copy_conf:
        command: "sudo cp /tmp/custom.conf /var/proxy/staging/nginx/conf.d/00_custom.conf"
    

    当整个conf.d 被/etc/nginx 替换时,无论如何都会重新加载nginx,因此这里不需要重新加载。

    【讨论】:

      猜你喜欢
      • 2016-05-12
      • 2016-11-07
      • 2017-04-21
      • 2018-03-21
      • 2017-11-18
      • 2018-12-12
      • 2020-06-26
      • 2019-12-11
      • 2014-07-05
      相关资源
      最近更新 更多