Elasticbeanstalk 通过 ebextension 自定义 Nginx

Elasticbeanstalk 通过 ebextension 自定义 Nginx

我几乎整天都在与此作斗争,我只需要增加客户端最大主体大小在我的 Nginx 配置中。

我有一个 tomcat 配置(自定义 ami),到目前为止我已经尝试过了。

  • 在 /etc/nginx/conf.d/my-http.conf 中创建一个文件
  • 在 /tmp 中创建一个文件,然后将其移动到上述位置
  • 在我的源代码中创建文件系统 .ebextensions/nginx/conf.d/my-http.conf

这是我测试的最新(绝望的)文件(名为.ebextensions/http_conf.config

files:
  "/tmp/http.conf.tmp" :
    mode: "000644"
    owner: root
    group: root
    content: |
      client_max_body_size 10M;

  "/etc/nginx/conf.d/proxy.conf":
    mode: "000755"
    owner: root
    group: root
    content: |
      client_max_body_size 20M;      

container_commands:
  01_remove_current_http_conf:
    command: "rm -f /etc/nginx/conf.d/http.conf"
  02_cp_new_http_conf:
    command: "cp /tmp/http.conf.tmp /tmp/http.conf.tmp2"
  03_cp_new_http_conf2:
    command: "cp /tmp/http.conf.tmp /etc/nginx/conf.d/http.conf"

正如你所看到的,我正在尝试一切,让我分享一下结果。

  • 我可以看到在 /tmp/http.conf.tmp 创建了一个文件
  • 我看不到在 /etc/nginx/conf.d/proxy.conf 创建的文件
  • 我可以看到在 /tmp/http.conf.tmp2 创建了一个文件
  • 我看不到在 /etc/nginx/conf.d/http.conf 创建的文件

我猜测在我以某种方式创建这些文件后目录会被覆盖,但我找不到避免这种情况的方法。

答案1

创建.config文件扩展名,将其放置在名为的文件夹中.ebextensions,然后将其部署到应用程序源包中。请参阅客户端最大主体尺寸Beanstalk 配置文件 (.ebextensions)

相关内容