2017-09-17 8 views
1

AWS에서 리소스를 사용하여 장고 웹 앱을 만드는 중입니다. 나는 배포가 처음이고 Elan Beanstalk (ELB 기반)의 제작 환경에서 Django 개발 웹 서버를 떠나 Nginx + Gunicorn을 사용하고 싶습니다. 나는 그들과 ELB에 관해 읽었습니다.AWS 탄두 콩팥 + Nginx + Gunicorn

ELB에 내 장고 앱을 배포 할 경우 Nginx + Gunicorn이 필요합니까? ELB에는 역방향 프록시, 자동 크기 조정,로드 밸런싱 등이 함께 제공됩니다.

입력을 이해하십시오.

+0

ELB를 사용하는 경우 ELB의 사용 사례는 구성하지 않아도되고 코드를 올바르게 가져 오는 것에 대해 걱정할 필요가 없습니다. –

답변

0

장고를 배포 할 때 권장되는 배포 방법 중 하나는 WSGI입니다 (Deploying Django 참조).

이 장고 배포 방법은 AWS Elastic Beanstalk에서도 잘 지원되며 Deploying a Django Application to Elastic Beanstalk도 있습니다. 높은 수준에서

, 당신은 다음을 수행 할 :

  1. 당신이
  2. 는 탄성 콩 줄기를위한 프로젝트를 구성 개발로 파이썬 종속성을 추적하기 위해 (virtualenv를 사용하여) 가상 환경을 만듭니다. 여기에는 virtualenv를 requirements.txt 파일로 고정하고 django의 WSGI 용 EB 확장을 구성하는 작업이 포함됩니다.
  3. EB CLI을 사용하여 프로젝트를 초기화하고 환경을 생성하십시오. 장면 뒤에

는 탄성 콩 줄기는 등 인스, 탄성로드 밸런서, 최대 회전뿐만 아니라 아파치 트래픽을 허용하도록 인스턴스를 구성하고 아파치의 mod_wsgi 장고에 대한 트래픽을 처리하기 위해 사용하는 것입니다.

0

응용 프로그램 수준에서 확실히 역방향 프록시가 필요합니다. ELB에는 특정 역방향 프록시가 없지만 ALB (Application Load Balancer)는 경로 기반 라우팅을 정의 할 수 있으므로 적절한 역방향 프록시의 필요성을 대체합니다. 그럼에도 불구하고 그것은 nginx의 전체 대용품이 아니에요. nginx를 사용하면 심각한 트래픽이 발생할 때 계속 자랄 때 응용 프로그램에 필요할 수있는 거의 무제한의 작업을 수행 할 수있는 도구가 있습니다.

더 많은 것은, 생산에 장고 신청을 위해 당신은 django로 할 수 없었던 것처럼 "개발"서버를 처리 할 수 ​​있기 때문에 일부 uwsgi로 확실히 실행하고 싶습니다.

위에서 설명한 모든 것들을 통해 nginx 및 uwsgi의 모든 항목을 응용 프로그램과 함께 준비 할 수 있습니다.

우리는 EBS 멀티 컨테이너 환경의 Docker와 함께 일상적으로하는 모든 응용 프로그램을 좋아합니다. 거기에 우리는 nginx, uwsgi를 가지고있어서 우리가 필요한 것을 할 수 있습니다.