liên kết chéo đến các diễn đàn AWS
Tôi đã phát triển một dịch vụ web Python đơn giản bằng WSGI và muốn triển khai nó lên đám mây AWS bằng cách sử dụng Elastic Beanstalk. Vấn đề của tôi là tôi không thể làm cho tất cả các tùy chọn tôi chỉ định trong cấu hình Đàn hồi đàn hồi được cấu hình chính xác trong đám mây.
Để triển khai, tôi sử dụng tiện ích CLI Bean Beanalk. Tôi đã chạy eb init
lệnh và thiết lập các tham số cần thiết. Sau này, một thư mục có tên .elasticbeanstalk
đã được tạo trong cây nguồn của tôi. Nó có hai tệp cấu hình được sử dụng để triển khai, cụ thể là config
và optionsettings
. Cái sau trong số các tùy chọn khác chứa cấu hình WSGI phải cập nhật /etc/httpd/conf.d/wsgi.conf
tại các phiên bản. Sau một số điều chỉnh của tôi, tệp có các cài đặt sau:
[aws: thunbeanstalk: ứng dụng: môi trường] DJANGO_SETTINGS_MODULE = PARAM1 = PARAM2 = PARAM4 = PARAM3 = PARAM5 = [aws: thunbeanstalk: container: python] WSGIPath = handler.py NumProcesses = 2 TĩnhFiles = / static = NumThreads = 10 [aws: thunbeanstalk: container: python: staticfiles] / static = static / [aws: thunbeanstalk: hostmanager] LogPublicationControl = false [aws: autoscaling: launchconfiguration] InstanceType = t1.micro EC2KeyName = zmicier-aws [aws: thunbeanstalk: ứng dụng] URL kiểm tra sức khỏe ứng dụng = [aws: tự động cân bằng: asg] Kích thước tối đa = 10 Kích thước tối thiểu = 1 Vùng sẵn có tùy chỉnh = [aws: thunbeanstalk: giám sát] Tự động chấm dứt trường hợp không lành mạnh = true [aws: thunbeanstalk: sns: chủ đề] Điểm cuối thông báo = Giao thức thông báo = email
Nó chỉ ra rằng không phải tất cả các tùy chọn này được xem xét khi tôi bắt đầu môi trường hoặc cập nhật nó. Do đó, khi tôi cập nhật NumThreads
hoặc NumProcesses
, các tham số tương ứng sẽ được thay đổi wsgi.conf
như mong đợi. Nhưng bất cứ điều gì tôi viết cho WSGIPath
và StaticFiles
các tham số, tôi không thể tự động thay đổi các giá trị tương ứng wsgi.conf
, chúng vẫn còn
Alias /static /opt/python/current/app/
WSGIScriptAlias / /opt/python/current/app/application.py
Điều đó khiến tôi phát điên. Hơn nữa, khi tôi triển khai ứng dụng của mình bằng cách sử dụng git aws.push
và có các nội dung sau của .ebextensions/python.config
tệp, không có tùy chọn nào tôi chỉ định trong đó ảnh hưởng đến việc triển khai.
tùy chọn - không gian tên: aws: thunbeanstalk: container: python tùy chọn tên: WSGIPath giá trị: mysite / wsgi.py - không gian tên: aws: thunbeanstalk: container: python tùy chọn tên: NumProcesses giá trị: 5 - không gian tên: aws: thunbeanstalk: container: python tùy chọn tên: NumThreads giá trị: 25 - không gian tên: aws: thunbeanstalk: container: python: staticfiles tùy chọn tên: / static / giá trị: ứng dụng / tĩnh /
Tôi tự hỏi tôi nên làm gì để buộc AWS sử dụng tất cả các tham số tôi chỉ định trong cấu hình, cụ thể là Đường dẫn WSGI và đường dẫn đến dữ liệu tĩnh của tôi.