我在rails应用程序上运行弹性beanstalk上有一个红宝石,我想上传一些大文件 - 可能大约5GB。 要做到这一点,我就.ebextensios增加一个配置文件/ nginx的/ 01_upload_file_size.config具有以下内容:Elastic beanstalk重置.config文件
files: "/etc/nginx/conf.d/proxy.conf" : mode: "000755" owner: root group: root content: | client_max_body_size 20G;
当我部署代码EB,我用命令sudo service nginx reload
重启nginx的服务器。这似乎工作了一段时间。
第二天上传大文件会给我'连接重置'错误。日志文件log/nginx/error.logs
告诉我错误客户端打算发送太大的身体:24084848字节
我不知道为什么会发生这种情况。似乎配置文件在短期内被忽略或者可能被重置,但在文档中我看不到任何这种情况的参考。请注意,当我再次进入eb环境并再次重新启动nginx时,我可以毫无问题地上传大文件。
照顾好一切后,我在我的EB控制台上看到了这些事件。
将实例[i-076127f714faac566]添加到您的环境中。
从您的环境中删除实例[i-0c51791325b54873c]。
我还注意到,当配置重置时,主机的IP地址发生变化。
我认为,当实例被自动添加并从EB中删除时,它不会应用配置文件,也不会像我通过SSH手动重新启动nginx服务器。
所以问题是:如何确保client_max_body_type始终设置为20G,即使在删除实例并重新添加之后?或者,如何使配置持久化,以便我不必手动重新启动nginx服务器?
感谢您的回答。我有一个自动扩展环境,所以根据服务器负载自动添加/删除实例。我在日志中找到了一些cloudwatch的痕迹,所以我会深入研究它。目前,我已经删除了自动缩放,并暂时避免了这个问题。 – Himsim
很高兴听到它!有一个默认的自动缩放规则,如果其网络流量低于某个阈值(这在低流量站点上经常出现这种情况),将终止该实例。 – Brian