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 initlệ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à configvà 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.conftạ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 NumThreadshoặc NumProcesses, các tham số tương ứng sẽ được thay đổi wsgi.confnhư mong đợi. Nhưng bất cứ điều gì tôi viết cho WSGIPathvà StaticFilescá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.pushvà có các nội dung sau của .ebextensions/python.configtệ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.