戰爭

2016-12-06 169 views
2

忽略彈性魔豆.ebextensions我想改變我的魔豆彈性NGINX反向代理的client_max_body_size財產,以允許更大的JPEG文件上傳。因此,我添加文件夾「.ebextensions」我的WAR文件的根目錄(WAR文件還包括彈簧啓動應用程序),並增加了一個文件「.ebextensions/01_files.config」,內容如下:戰爭

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

我通過部署特拉維斯-CI到彈性魔豆WAR文件。但是,自從使用文件大小上傳之後,Elastic Beanstalk似乎忽略了該文件。 2MB不起作用,當用SSH連接實例並查找「/etc/nginx/conf.d/proxy.conf」時,該文件不存在。

我已經成功地上面有YAML驗證內容驗證。我知道,有很多相關的問題,但不是那些似乎解決我的問題。我還檢查了「.ebextensions/01_files.config」是否包含在根目錄中的WAR文件中。當檢查「/ tmp/eb_extracted_jar」時,文件「.ebextensions/01_files.config」也存在正確的內容。我甚至在「/var/log/cfn-init.log」中找不到任何錯誤。我注意到,僅僅幾秒鐘,部署期間「/etc/nginx/conf.d/」中出現了「proxy.conf」文件,但它已被刪除。

這個問題可以occure因爲通過特拉維斯-CI部署彈性魔豆?或者我錯過了其他重要的東西?

編輯: 我剛剛認識到,「proxy.conf」文件被創建了幾秒鐘,每次當應用程序部署,但它消失幾秒鐘後(與在「/ etc/nginx的ls -lsa檢查/conf.d/ 「看到的時間戳與13:34的 」elasticbeanstalk「 目錄和 」healthd_http.conf「 和13:43的 」proxy.conf「)

4 drwxr-xr-x 3 root root 4096 6. Dec 13:43 . 
4 drwxr-xr-x 4 root root 4096 6. Dec 13:34 .. 
4 drwxr-xr-x 2 root root 4096 6. Dec 13:34 elasticbeanstalk 
4 -rw-r--r-- 1 root root 148 6. Dec 13:34 healthd_http.conf 
4 -rwxr-xr-x 1 root root 26 6. Dec 13:43 proxy.conf 

,幾秒鐘後ls -lsa」 /etc/nginx/conf.d/「:

4 drwxr-xr-x 3 root root 4096 6. Dec 13:44 . 
4 drwxr-xr-x 4 root root 4096 6. Dec 13:44 .. 
4 drwxr-xr-x 2 root root 4096 6. Dec 13:44 elasticbeanstalk 
4 -rw-r--r-- 1 root root 148 6. Dec 13:44 healthd_http.conf 

回答

5

經過數小時的閱讀文檔,我發現我錯過了Elastic Beanstalk Java SE平臺官方AWS文檔的一些重要部分(請參閱http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-platform.html)。

  1. 絕對是我的錯誤:我使用了錯誤的文件擴展名,在文件夾「.ebextensions」的文件擴展名必須是「.conf文件」,但是不「的.config」。

  2. 至少對於Java SE平臺:可以直接在「.ebextensions」目錄中添加NGINX配置文件,而不使用「files:...」語法生成具有特定內容的文件,即創建「/etc/nginx/conf.d/proxy.conf」中的代理文件只是直接在內容client_max_body_size 20M;上添加「.ebextension/nginx/conf.d/proxy.conf」。隨後,「proxy.conf」將被部署到「/etc/nginx/conf.d/proxy.conf」,並由默認的NGINX配置自動包含。

希望這個答案可以節省別人花時間弄清楚的時間。

+0

我不認爲這是正確的。我使用'.config'文件擴展名按照http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html 但是,我仍然有問題:( – Phil

+0

您是否正在使用反向代理一個負載均衡器?因爲那時你需要'。conf',如下所述:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-nginx.html – Tom