我在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