Django 2.1.1 не найден на бобовом стебле t2.micro ec2 - PullRequest
1 голос
/ 24 марта 2019

Я создал python virtualenv на своей локальной машине с Ubuntu, как советовали в официальной документации aws beanstalk ссылка . Установил Django Затем pip freeze > requirements.txt. В моем файле needs.txt есть Django == 2.1.1

Когда я eb deploy, я получаю зеленый статус здоровья. Но когда я захожу в ec2 и проверяю список пакетов

eb ssh
pip freeze

Я вообще не вижу Джанго. Затем я попытался вручную установить django:

pip install django

Он установлен Django==1.11.20 Так что я думаю, что beanstalk aws ec2 не имеет версии Django, упомянутой в файле require.txt, и поэтому pip никогда ее не устанавливал. Это правильно? Если это так, мы должны вручную устанавливать пакеты с правильной версией каждый раз, когда мы используем beanstalk

Спасибо

1 Ответ

0 голосов
/ 26 марта 2019

Elastic Beanstalk использует файл require.txt, чтобы определить, какой пакет установить на экземплярах EC2, на которых выполняется ваше приложение. Следовательно, наличие только 'Django == 2.1.1' в require.txt не установит его на экземпляр.

Чтобы установить этот пакет, вам необходимо выполнить следующие шаги:

  1. Создайте новый каталог с именем .ebextensions в корневом каталоге вашего пакета.

Примечание: папка «.ebextensions» в корне каталога пакета используется для настройки экземпляров Elastic Beanstalk. Файлы в этом папка использует расширение .config, с кодом YAML внутри и читаются в алфавитном порядке, чтобы они могли работать в определенном заказ на развертывание различных конфигураций на экземплярах.

  1. В каталоге .ebextensions добавьте файл конфигурации с именем django.config со следующим текстом:

Пример ~ / your_application_name / .ebextensions / django.config

option_settings:
 aws:elasticbeanstalk:container:python:
  WSGIPath: your_application_name/wsgi.py

Этот параметр, WSGIPath, указывает местоположение сценария WSGI, который Elastic Beanstalk использует для запуска вашего приложения.

  1. Вот и все. Теперь разверните приложение EB и проверьте, установлен ли Django.
...