Ruby on rails 弹性beanstalk重置.config文件
我有一个运行在elastic beanstalk上的ruby on rails应用程序,我想上传一些大文件——可能在5gb左右。 为此,我在.ebextensios/nginx/01\u upload\u file\u size.config上添加了一个配置文件,内容如下:Ruby on rails 弹性beanstalk重置.config文件,ruby-on-rails,nginx,amazon-ec2,amazon-elastic-beanstalk,Ruby On Rails,Nginx,Amazon Ec2,Amazon Elastic Beanstalk,我有一个运行在elastic beanstalk上的ruby on rails应用程序,我想上传一些大文件——可能在5gb左右。 为此,我在.ebextensios/nginx/01\u upload\u file\u size.config上添加了一个配置文件,内容如下: 文件: “/etc/nginx/conf.d/proxy.conf”: 模式:“000755” 所有者:root 组:根 内容:| 客户机最大机身尺寸为20G; 将代码部署到EB后,使用命令sudo service ngi
文件:
“/etc/nginx/conf.d/proxy.conf”:
模式:“000755”
所有者:root
组:根
内容:|
客户机最大机身尺寸为20G;
将代码部署到EB后,使用命令sudo service nginx reload
重新启动nginx服务器。这似乎有一段时间有效
第二天上载大文件时出现“连接已重置”错误。日志文件log/nginx/error.logs
告诉我错误客户端打算发送太大的正文:240848字节
我不知道为什么会这样。似乎配置文件在短期内或重置后被忽略,但我在文档中看不到发生这种情况的任何参考。请注意,当我再次SSH到eb环境并重新启动nginx时,我可以毫无问题地上传大文件
在处理完所有事情后,我在电子商务控制台上看到了这些事件 将实例[i-076127f714faac566]添加到您的环境中 已从您的环境中删除实例[i-0c51791325b54873c] 我还注意到,当配置重置时,主机的IP地址会发生变化 我认为,当实例被自动添加并从EB中删除时,它没有应用配置文件,或者没有像我通过SSH手动那样重新启动nginx服务器
所以问题是:我如何确保客户机\u max\u body\u类型始终设置为20G,即使在删除并重新添加实例之后也是如此?或者,如何使配置持久化,从而不必手动重新启动nginx服务器?我认为您在这里有两个问题-为什么EB要替换您的实例,以及如何自动重新启动nginx 回答第一个问题需要您进行一些研究,但我怀疑它可能是默认的CloudWatch警报,当网络流量下降到某个阈值以下时,它会杀死实例 第二个问题应该相当直截了当;按照,您应该能够在部署过程中自动重新启动nginx的
01\u upload\u file\u size.config
中添加一个部分:
container_commands:
01_restart_nginx:
command: "service nginx reload"
我还要检查以确保
/etc/nginx/conf.d/proxy.conf
文件实际上正在创建-我不知道是否支持.ebextensions
下的文件夹。您可能需要将配置文件移动到.ebextensions/01\u upload\u file\u size.config
我想您这里有两个问题-为什么EB要替换您的实例,以及如何自动重启nginx
回答第一个问题需要您进行一些研究,但我怀疑它可能是默认的CloudWatch警报,当网络流量下降到某个阈值以下时,它会杀死实例
第二个问题应该相当直截了当;按照,您应该能够在部署过程中自动重新启动nginx的01\u upload\u file\u size.config
中添加一个部分:
container_commands:
01_restart_nginx:
command: "service nginx reload"
我还要检查以确保
/etc/nginx/conf.d/proxy.conf
文件实际上正在创建-我不知道是否支持.ebextensions
下的文件夹。您可能需要将配置文件移动到.ebextensions/01\u upload\u file\u size.config
谢谢您的回答。我有一个自动缩放环境,因此实例会根据服务器负载自动添加/删除。我确实在日志上找到了一些cloudwatch的痕迹,所以我会深入研究。现在,我已经删除了自动缩放功能,暂时避免了这个问题。很高兴听到这个消息!有一个默认的自动缩放规则,如果实例的网络流量低于某个阈值,就会终止该实例,这在低流量站点上很常见。谢谢您的回答。我有一个自动缩放环境,因此实例会根据服务器负载自动添加/删除。我确实在日志上找到了一些cloudwatch的痕迹,所以我会深入研究。现在,我已经删除了自动缩放功能,暂时避免了这个问题。很高兴听到这个消息!有一个默认的自动缩放规则,如果实例的网络流量低于某个阈值,该规则将终止实例,这在低流量站点上很常见。