Bạn cần có Python, pip, virtualenv, awswebcli và một ứng dụng khách SSH để thiết lập Môi trường phát triển Python của bạn trên AWS. Bạn có thể làm theo hướng dẫn tại https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html để cài đặt.
Khi bạn đã cài đặt tất cả những thứ đó, bạn cần thiết lập một môi trường ảo để các gói toàn cầu của bạn không bị ô nhiễm. Sử dụng lệnh sau để thiết lập môi trường ảo:
$ virtualenv -p python2.7 /tmp/hello-world Running virtualenv with interpreter /usr/bin/python2.7 New python executable in /tmp/hello-world/bin/python2.7 Also creating executable in /tmp/hello-world/bin/python Installing setuptools, pip...done.
Khi môi trường ảo của bạn đã sẵn sàng, hãy khởi động nó bằng cách chạy tập lệnh kích hoạt nằm trong thư mục bin của môi trường. Ví dụ:để bắt đầu môi trường hello-world đã tạo ở bước trước, bạn sẽ nhập:
$ . /tmp/hello-world/bin/activate
Sau khi được tạo, bạn có thể khởi động lại môi trường ảo bất kỳ lúc nào bằng cách chạy lại tập lệnh kích hoạt của nó.
Để định cấu hình một ứng dụng Python để triển khai, từ bên trong virtualenv của bạn, hãy quay lại đầu cây thư mục của dự án và tạo tệp tin request.txt có chứa các yêu cầu của ứng dụng (mô-đun của bên thứ ba mà bạn đang nhập) với số phiên bản của chúng (hoặc không có nếu bạn cần một cái mới nhất). Ví dụ,
Flask==0.8 Jinja2==2.6 Werkzeug==0.8.3 certifi==0.0.8 chardet==1.0.1 : ...
Ngoài ra, bạn có thể sử dụng pip để tải tất cả các gói đã cài đặt từ máy của bạn sang tệp tin request.txt bằng cách sử dụng:
$ pip freeze >requirements.txt
Điều này cho phép AWS sao chép môi trường Python của ứng dụng của bạn bằng cách sử dụng cùng các gói và cùng phiên bản mà bạn đã sử dụng để phát triển và thử nghiệm ứng dụng của mình.
Bây giờ, hãy định cấu hình kho lưu trữ AWS EB CLI bằng lệnh 'eb init'.
$ eb init -p python2.7 hello-world
Ứng dụng hello-world đã được tạo.
Lệnh này tạo một ứng dụng mới có tên hello-world và định cấu hình kho lưu trữ cục bộ của bạn để tạo môi trường với cấu hình nền tảng Python 2.7 mới nhất. Chạy lại eb init để định cấu hình cặp khóa mặc định để bạn có thể kết nối với phiên bản EC2 đang chạy ứng dụng của bạn với SSH
$ eb init Do you want to set up SSH for your instances? (y/n): y Select a keypair. 1) my-keypair 2) [ Create new KeyPair ]
Chọn một cặp khóa nếu bạn đã có hoặc làm theo lời nhắc để tạo một cặp khóa mới. Nếu bạn không thấy lời nhắc hoặc cần thay đổi cài đặt của mình sau đó, hãy chạy eb init -i. Tạo môi trường và triển khai ứng dụng của bạn với nó với eb create:
$ eb create hello-env
Lệnh này tạo một môi trường Elastic Beanstalk cân bằng tải có tên hello-env.
Nếu gặp bất kỳ sự cố nào, bạn có thể kiểm tra tài liệu chi tiết hơn tại đây:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html#python-django-configure-for- eb