2012-09-19 51 views
1

我正在設置Elastic Beanstalk實例以在Tomcat上運行Grails應用程序並使用Apache提供UI網頁。 Web內容位於EBS捲上,該卷使用init.d腳本(mountec2vol)連接並安裝在引導程序中。 Apache的DocumentRoot位於本卷/ mnt/data/www上。我的AMI映像基於默認的Beanstalk 64位-Tomcat7-linux映像。Elastic Beanstalk的Hostmanager無法啓動Apache,緩慢EBS連接

看起來,Hostmanager無法啓動Apache,因爲EBS卷需要一段時間(5-20​​秒)才能連接。這是我在/opt/elasticbeanstalk/var/log/bluepill.log得到:

W,[2012-09-19T18:06:15.366835#1283] WARN - :[hostmanager:的httpd] { :stdout =>「正在啓動httpd:[失敗] \ r \ n」,::stderr =>「/etc/httpd/conf/httpd.conf中的語法錯誤293:\ nDocumentRoot必須是一個目錄\ n」,: exit_code => 1}

因爲這個我沒有得到Web服務器聯機,健康檢查失敗和實例終止和重新...

我可以配置hostmanager推遲阿帕奇開始直到EBS音量達到?這是用Elastic Beanstalk實例附加+掛載EBS的正確方法嗎?

或者我在這裏做了不必要的困難...有沒有更直接的方法來做到這一點?

回答

1

Elastic Beanstalk是一個EC2實例,其行爲方式相同。下面是關於你有同樣的問題進行一些討論:https://forums.aws.amazon.com/message.jspa?messageID=304528#304528

如果您想保存您的EBS捲上的靜態內容,然後寫一些簡單的處理程序,以您的EBS相關服務init腳本做前要檢查安裝卷的可用性還要別的嗎。

但是,「雲解決方案」可能會將您的內容存儲到S3並在需要時從那裏加載它。那麼你不需要單獨的EBS進行存儲。

+0

謝謝,似乎修改init/boot將是解決方案。 – apa64