Для начала вам необходимо создать аккаунт AWS. Этот процесс прост, и с вас будет взиматься плата только за те услуги, которые вы используете на AWS.

2. Поиск сервиса Cloud9

После регистрации щелкните строку поиска и выполните поиск службы «Cloud9».

Или прокрутите вниз до раздела Инструменты разработчика в разделе Все службы и нажмите «Cloud9».

Нажмите «Cloud9», чтобы перейти на домашнюю страницу Cloud9.

3. Создание новой среды Cloud9

Посетите домашнюю страницу AWS Cloud9.

Оказавшись на домашней странице Cloud9, нажмите оранжевую кнопку «Создать среду».

Шаг 1. Назовите среду

Вам будет предложено ввести имя вашей среды.

Мы рекомендуем вам назвать среду как-нибудь всеобъемлющим, чтобы вы могли запомнить, что в ней находится.

Вы также можете добавить описание, если хотите.

Шаг 2. Настройки конфигурации

Далее идут параметры конфигурации среды.

Для Типа среды оставьте выбранным «Создать новый экземпляр EC2 для среды (прямой доступ)».

Для типа экземпляра оставьте значение «t2.micro (1 ГиБ ОЗУ +1 виртуальный ЦП)». Это самый экономичный экземпляр, если вы только начинаете.

Для платформы измените настройку на «Ubuntu Server 18.04 LTS». Однако не стесняйтесь использовать Linux, если вы более знакомы с этой операционной системой.

Наконец, для настроек экономии оставьте значение по умолчанию «Через 30 минут». Это означает, что автоматический переход в спящий режим будет применяться через 30 минут бездействия, чтобы предотвратить ненужную оплату за оставление сервера работающим.

Шаг 3. Проверьте

Просмотрите имя и конфигурации среды, затем нажмите кнопку «Создать среду», когда будете готовы.

4. Начало работы с AWS Cloud9

AWS Cloud9 Создание новой среды

Среда завершит настройку через несколько минут.

Оттуда вы увидите две вкладки: вкладка «Добро пожаловать» и «AWS Toolkit - Quick Start».

Оба предоставляют полезную информацию по настройке AWS Cloud9.

Не стесняйтесь читать эти документы, поскольку мы просто рассмотрим основы, необходимые для запуска и запуска проекта Django.

AWS Cloud9 IDE

Что входит в AWS Cloud 9?

  • редактор кода
  • Терминал
  • отладчик
  • файловое дерево

5. Как создать виртуальную среду в Cloud9

Терминал AWS Cloud9

user:~/environment $ python3 -m venv env
user:~/environment $ cd env
user:~/environment/env $ source bin/activate
(env) user:~/environment/env $

Чтобы создать виртуальную среду в Cloud9 с именем env:

Создайте виртуальную среду.

python3 -m venv env

Войдите в папку виртуальной среды.

cd env

И активируйте виртуальную среду.

source bin/activate

Если вы хотите узнать больше о виртуальных средах, посетите Создание виртуальной среды Python для начинающих.

6. Установите веб-фреймворк Django

Терминал AWS Cloud9

(env) user:~/environment/env $ pip install django==2.1.15

Вы должны установить версию Django 2, если планируете развертывание с помощью AWS Elastic Beanstalk.

В этом руководстве мы будем использовать AWS EB.

7. Создайте проект Django и веб-приложение

Терминал AWS Cloud9

(env) user:~/environment/env $ django-admin startproject mysite
(env) user:~/environment/env $ cd mysite
(env) user:~/environment/env/mysite $ python3 manage.py startapp main

Установив Django, мы можем перейти к созданию настоящего проекта Django и приложения в нем.

Чтобы создать проект с именем mysite:

django-admin startproject mysite

Чтобы создать приложение:

cd mysite

python3 manage.py startapp main

Для получения дополнительных сведений об установке и начальной настройке Django посетите Быстрая установка Django.

8. Как запустить сервер Cloud9

Редактор кода AWS Cloud9

"""
Django settings for mysite project.
Generated by 'django-admin startproject' using Django 2.1.15.
For more information on this file, see
https://docs.djangoproject.com/en/2.1/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/2.1/ref/settings/
"""
import os
...
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []

# Application definition
INSTALLED_APPS = [
    'django.contrib.admin',
    ...

Перед запуском сервера нам нужно обновить файл Django settings.py, указав разрешенный хост.

Перейдите к дереву файлов в левой части среды IDE и дважды щелкните env ›mysite› ​​mysite ›settings.py.

Файл Django settings.py откроется в редакторе кода Cloud9. Это будет похоже на файл выше.

Редактор кода AWS Cloud9

ALLOWED_HOSTS = ['*']

Прокрутите вниз до ALLOWED_HOSTS и укажите звездочку в скобках, разрешив все хосты. Сохраните файл.

В качестве альтернативы вы можете оставить поле ALLOWED_HOSTS пустым, запустить сервер, а затем получить URL-адрес домена.

Терминал AWS Cloud9

(env) user:~/environment/env/mysite $ python3 manage.py runserver 8080

Для запуска сервера Cloud9 нужно выполнить команду python3 manage.py runserver 8080. Это создаст URL-адрес Cloud9 для вашего сервера разработки.

После запуска команды появится зеленое поле со ссылкой на то, где выполняется ваш код.

Нажмите на ссылку.

Django Rocket в окне браузера

Вы должны увидеть ракету Django.

9. Ошибка Django при попытке запустить сервер Cloud9

Если вы получаете сообщение об ошибке желтой страницы Django

Invalid HTTP_HOST header: 'abcd.vfs.cloud9.us-west-2.amazonaws.com'. You need to add 'abcd.vfs.cloud9.us-west-2.amazonaws.com' to ALLOWED_HOSTS.

Редактор кода AWS Cloud9

ALLOWED_HOSTS = ['abcd.vfs.cloud9.us-west-2.amazonaws.com']

Вернитесь к файлу Django settings.py и добавьте URL-адрес, указанный в ошибке Django, в ALLOWED_HOSTS. Сохраните файл, перезагрузите браузер.

10. Развертывание Django из Cloud9 в AWS EB

Развертывание AWS Elastic Beanstalk Django

После завершения разработки вы можете развернуть проект Django в среде cCloud9 в среде AWS Elastic Beanstalk.

Если вы хотите развернуть свое веб-приложение с помощью интерфейса командной строки AWS Elastic Beanstalk, следуйте инструкциям, приведенным в курсе Создание веб-приложения Django для получения дополнительной информации.

Или, если вы можете выбрать развертывание непосредственно из консоли AWS Elastic Beanstalk с вашим заархивированным проектом.

Первоначально опубликовано на https://ordinarycoders.com.

Больше контента на plainenglish.io