2012-09-19 5 views
1

Tomcat에서 Grails 앱을 실행하고 Apache로 UI 웹 페이지를 제공하도록 Elastic Beanstalk 인스턴스를 설정하고 있습니다. 웹 컨텐트는 EBS 볼륨에 있으며 init.d 스크립트 (mountec2vol)를 사용하여 부팅시 마운트 및 마운트됩니다. Apache의 DocumentRoot는이 볼륨/mnt/data/www에 있습니다. 내 AMI 이미지는 기본 Beanstalk 64bit-Tomcat7-Linux 이미지를 기반으로합니다.Elastic Beanstalk의 Hostmanager가 Apache를 시작하지 못했습니다. EBS가 느린 경우

EBS 볼륨에 연결하는 데 (5 ~ 20 초) 소요되므로 Hostmanager가 Apache를 시작할 수없는 것으로 보입니다. [hostmanager : 아파치] {-

W, [2012-09-19T18 : : : 06 15.366835 # 1283] WARN 이것은 내가 /opt/elasticbeanstalk/var/log/bluepill.log에서 무엇을 얻을 : stdout => "httpd : [FAILED] 시작하기 \ r \ n", : stderr => "/etc/httpd/conf/httpd.conf:\nDocumentRoot의 293 줄에있는 구문 오류는 \ n" exit_code => 1}

때문에 온라인으로 웹 서버를 얻을, 건강 검사가 실패하지 않는이의

및 종료하고 다시 작성하는 예 ...

나는 아파치를 지연하기 위해 hostmanager를 구성 할 수 EBS 볼륨이 올라갈 때까지 시작 하시겠습니까? 이것은 Elastic Beanstalk 인스턴스로 EBS를 마운트 + 마운트하는 올바른 방법입니까?

여기서는 불필요하게 어려운 작업을하고 있습니다 ... 더 간단한 방법이 있습니까?

답변

1

탄성의 Beanstalk은 EC2 인스턴스이며 동일한 방식으로 작동합니다. 다음은 같은 문제에 관한 토론입니다. https://forums.aws.amazon.com/message.jspa?messageID=304528#304528

정적 콘텐츠를 EBS 볼륨에 저장하려면 EBS 종속 서비스 초기화 스크립트에 간단한 처리기를 작성하여 수행하기 전에 탑재 볼륨 가용성을 확인하십시오 다른 것.

"클라우드 솔루션"은 콘텐츠를 S3에 저장하고 필요할 때로드 할 수 있습니다. 그렇다면 별도의 EBS 스토리지가 필요하지 않습니다.

+0

감사합니다. init/boot를 수정하는 것이 해결책 일 것 같습니다. – apa64

관련 문제