WSGI를 사용하여 간단한 Python 웹 서비스를 개발했으며 Elastic Beanstalk를 사용하여 AWS 클라우드에 배포하고 싶습니다. 내 문제는 Elastic Beanstalk 구성에서 지정한 모든 옵션을 클라우드에서 올바르게 구성 할 수 없다는 것입니다.
배포에는 Elastic Beanstalk CLI 유틸리티를 사용합니다. eb init
명령 을 실행 하고 필요한 매개 변수를 설정했습니다. 그런 다음 이름 .elasticbeanstalk
이 지정된 디렉토리 가 소스 트리에 작성되었습니다. 배포에 사용되는 두 개의 구성 파일 즉 config
, 및 optionsettings
. 다른 옵션 중 후자에는 /etc/httpd/conf.d/wsgi.conf
인스턴스에서 업데이트해야하는 WSGI 구성이 포함 됩니다. 일부 조정 후 파일의 설정은 다음과 같습니다.
[aws : elasticbeanstalk : 응용 프로그램 : 환경] DJANGO_SETTINGS_MODULE = PARAM1 = PARAM2 = PARAM4 = PARAM3 = PARAM5 = [aws : elasticbeanstalk : 컨테이너 : python] WSGIPath = handler.py NumProcesses = 2 정적 파일 = / static = NumThreads = 10 [aws : elasticbeanstalk : 컨테이너 : python : 정적 파일] / 정적 = 정적 / [aws : elasticbeanstalk : 호스트 관리자] LogPublicationControl = 거짓 [aws : 자동 스케일링 : 시작 구성] 인스턴스 유형 = t1.micro EC2KeyName = zmicier-aws [aws : elasticbeanstalk : 응용 프로그램] 응용 프로그램 상태 확인 URL = [aws : 자동 확장 : asg] 최대 크기 = 10 최소 크기 = 1 사용자 정의 가용 영역 = [aws : elasticbeanstalk : 모니터링] 비정상 인스턴스 자동 종료 = true [aws : elasticbeanstalk : sns : 주제] 알림 엔드 포인트 = 알림 프로토콜 = 이메일
환경을 시작하거나 업데이트 할 때 이러한 옵션 중 일부가 고려되지는 않습니다. 따라서, 내가 업데이트 할 때 NumThreads
나 NumProcesses
, 각각의 매개 변수 변경 얻을 wsgi.conf
것으로 예상한다. 하지만이 쓸 어떤 WSGIPath
및 StaticFiles
매개 변수, 나는 자동으로의 각각의 값을 변경할 수 아니에요 wsgi.conf
그들이 남아
Alias /static /opt/python/current/app/
WSGIScriptAlias / /opt/python/current/app/application.py
그것은 나를 미치게합니다. 또한 git aws.push
다음과 같은 .ebextensions/python.config
파일 내용을 사용 하고 응용 프로그램을 배포 할 때 응용 프로그램 에서 지정한 옵션 중 어느 것도 배포에 영향을 미치지 않습니다.
option_settings : -네임 스페이스 : aws : elasticbeanstalk : container : python option_name : WSGIPath 값 : mysite / wsgi.py -네임 스페이스 : aws : elasticbeanstalk : container : python option_name : NumProcesses 값 : 5 -네임 스페이스 : aws : elasticbeanstalk : container : python option_name : NumThreads 값 : 25 -네임 스페이스 : aws : elasticbeanstalk : container : python : staticfiles option_name : / static / 값 : app / static /
구성에서 지정한 모든 매개 변수, 즉 WSGI 경로와 정적 데이터 경로를 AWS가 사용하도록하려면 어떻게해야하는지 궁금합니다.