2014-02-07 4 views
1

우리는 호스팅 환경에 AWS를 사용하고 테스트 VPC를 설정했습니다. 우리는 순간에 nginx 뒤에 유니콘을 사용하여 레일 애플 리케이션을 실행합니다. ELB 뒤에 서버를 설치하려고 시도하는 동안 "실패한 상태 확인"으로 인해 계속 퇴장했습니다.Amazon ELB 뒤의 Unicorn 실행

그러나 건강 상태 확인은 상태 200을 반환하고 필요한 200 상태 이후에 곧 활성 상태로 돌아갑니다. 요청이 서버에 도달하자마자 ELB는 서버를 다시 삭제합니다. 내가 말할 수있는 것만 큼 가까운 것은 유니콘이 연결을 열어 두지 않고 요청이 완료된 후에 연결을 닫을 것이기 때문입니다. ELB는 문제 해결 페이지에서 분명히이를 좋아하지 않습니다. http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-healthcheck.html

이 문제가 해결 되었습니까? 추가 nginx 서버를 설정하지 않고이 문제를 해결할 수있는 방법이 있습니까? Unicorn 대안 중 어떤 것이 Amazon ELB와 잘 어울리는가요?

답변

6

나는 방금 ELC 뒤에 작동하도록 gunicorn (python 기반)을 얻으려고 눈물을 흘렸다. 나는 그것이 nginx (손가락을 넘어서서) 뒤에 잘 작동하는 것처럼 본다. 엘프 헬스 체크가 유니콘에 직접 연결되어 있지 않은지 확인하십시오. 그것은 비록 nginx 가야한다.

유니콘 스타일은 요청을 받고 처리 한 다음 이동하는 것입니다. ELB는 효율성을 높이기 위해 연결을 열린 상태로 유지하려고합니다. Nginx는 아무런 문제없이 많은 연결을 처리 할 수 ​​있습니다.