Amazon web services Docker Elastic Beanstalk ELB忽略了.ebextension
我正在通过CodePipeline将docker映像部署到使用弹性负载平衡器的Elastic Beanstalk 我有以下文件结构:Amazon web services Docker Elastic Beanstalk ELB忽略了.ebextension,amazon-web-services,docker,nginx,amazon-elastic-beanstalk,Amazon Web Services,Docker,Nginx,Amazon Elastic Beanstalk,我正在通过CodePipeline将docker映像部署到使用弹性负载平衡器的Elastic Beanstalk 我有以下文件结构: .ebextensions nginx 形态d 弹性豆茎 nginx-config.conf 文件中包含修改,例如: sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 1
- .ebextensions
- nginx
- 形态d
- 弹性豆茎
- nginx-config.conf
- 弹性豆茎
- 形态d
- nginx
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配置
顺便说一句,我的dockrun.aws.json和buildspec.yml都在执行。对于可能遇到相同问题的任何人,下面是我如何解决它的……定制AMI
我得去看管一下。不要尝试对/etc/nginx/nginx.conf进行任何更改。EBS将自动覆盖您在其中输入的任何内容。相反,将所有修改放在/etc/nginx/conf.d/somefile.conf中,这将覆盖/etc/nginx/nginx.conf中的任何内容。对于可能遇到相同问题的任何人,下面是我如何解决它的……定制AMI
我得去看管一下。不要尝试对/etc/nginx/nginx.conf进行任何更改。EBS将自动覆盖您在其中输入的任何内容。相反,将所有修改放在/etc/nginx/conf.d/somefile.conf中,这些修改将覆盖/etc/nginx/nginx.conf中的任何内容。在过去几年中,通过Stackoverflow上发布的针对该问题的不同解决方案进行了工作,但未取得任何成功(如),我试图找出数据
conf.d
被实际来源覆盖的位置。我找到了文件夹/var/proxy/staging/nginx/conf.d/
。我测试了它,并将我的自定义nginx conf文件复制到该文件夹中。它成功了。因此,您可以在Beanstalk上的多容器Docker设置实例上实现对nginx配置的更改,如下所示:
#.ebextensions/00_nginx.config
文件夹:
“/tmp/custom.conf”:
模式:“000644”
所有者:root
组:根
内容:|
客户最大尺寸为20M;
容器命令:
01_复制_配置:
命令:“sudo cp/tmp/custom.conf/var/proxy/staging/nginx/conf.d/00_custom.conf”
由于在
/etc/nginx
中替换整个conf.d
时,nginx会以任何方式重新加载,因此无需在此处重新加载。在过去几年中,通过Stackoverflow上发布的针对该问题的不同解决方案(如)工作未取得任何成功后,我试图找出数据conf.d
被实际来源覆盖的位置。我找到了文件夹/var/proxy/staging/nginx/conf.d/
。我测试了它,并将我的自定义nginx conf文件复制到该文件夹中。它成功了。因此,您可以在Beanstalk上的多容器Docker设置实例上实现对nginx配置的更改,如下所示:
#.ebextensions/00_nginx.config
文件夹:
“/tmp/custom.conf”:
模式:“000644”
所有者:root
组:根
内容:|
客户最大尺寸为20M;
容器命令:
01_复制_配置:
命令:“sudo cp/tmp/custom.conf/var/proxy/staging/nginx/conf.d/00_custom.conf”
当整个
conf.d
在/etc/nginx
中被替换时,nginx无论如何都会被重新加载,因此这里不需要重新加载。我目前也遇到了同样的情况。我尝试了两种方法:通过.ebextensions
中的yaml配置文件创建.conf,以及直接将nginx.conf文件放置在.ebextensions/nginx/conf.d
中。两者都没有达到预期的效果。然后,我在部署期间一直关注着conf.d
文件夹:我的.conf文件实际上是创建的,但是在部署的稍后阶段,.conf被放置在那里之后,整个conf.d
文件夹会被重新创建。配置更改只会被删除,而不会被忽略。但是,我不知道如何解决这个问题。我目前也有同样的经历。我尝试了两种方法:通过.ebextensions
中的yaml配置文件创建.conf,以及直接将nginx.conf文件放置在.ebextensions/nginx/conf.d
中。两者都没有达到预期的效果。然后,我在部署期间一直关注着conf.d
文件夹:我的.conf文件实际上是创建的,但是在部署的稍后阶段,.conf被放置在那里之后,整个conf.d
文件夹会被重新创建。配置更改只会被删除,而不会被忽略。但不知道如何解决这个问题。