Рубрики
Без рубрики

Развернуть приложение Flask на AWS EC2

Source Flask – это веб -структура для Python, что означает, что он обеспечивает простой интерфейс для Dynamica … Tagged с WebDev, Python, AWS, EC2.

Источник

Flask – это веб -структура для Python, что означает, что она обеспечивает простой интерфейс для динамического генерации ответов на веб -запросы. Который включает в себя обслуживание веб -сайтов/ответов API. Собирается облако, будучи последней тенденцией. Давайте начнем с запуска сервера Flask в экземпляре EC2 Amazon Web Services.

Давайте разделим задачу настройки сервера Flask на EC2 как 3

1. Запуск экземпляра EC2

1) Откройте консоль Amazon EC2 в https://console.aws.amazon.com/ec2/ Анкет

2) Выберите Запуск экземпляр Анкет

3) в Шаг 1: Выберите изображение машины Amazon (AMI) , найдите Ubuntu AMI в списке и выберите Выберите Анкет

4) в Шаг 2: Выберите тип экземпляра , выберите Далее: Настройте подробности экземпляра- Выберите тот, который лучше всего соответствует вашим требованиям.

5) в Шаг 3: Настройка деталей экземпляра , Предоставьте следующую информацию:

  • Для Сеть , выберите запись для того же VPC, который вы отметили, когда вы создали свою файловую систему EFS в Шаг 1: Создайте свою файловую систему Amazon EFS Анкет
  • Для Подсеть Выберите подсеть по умолчанию в любой зоне доступности.
  • Для Файловые системы , убедитесь, что файловая система EFS, которую вы создали в Шаг 1: Создайте свою файловую систему Amazon EFS выбран. Путь, показанный рядом с идентификатором файловой системы, является точкой монтирования, которую будет использовать экземпляр EC2, который вы можете изменить. Выберите Добавить в пользовательские данные Для установки файловой системы при запуске EC2.
  • Под Расширенные детали , подтвердите, что пользовательские данные присутствуют в Пользовательские данные Анкет

6) Выберите Далее: добавить хранилище Анкет

7) Выберите Далее: добавить теги .- Отметьте его соответствующим образом для будущей ссылки 8) Выберите Далее: Настройка группы безопасности

Настройте группы безопасности, как показано ниже. Эта настройка позволяет доступа к порту 80 (http) из любого места, где вы также можете добавить порт 443 (https), если это необходимо, и доступ к SSH только с любого IP -адреса.

Входящие правила безопасности AWS

Теперь, когда у вас есть Ваш экземпляр настроен Давайте подключимся к нему и установим необходимые требования.

2) Подключитесь к требованиям EC2 и настройке

1) Подключитесь к вашему EC2

Подключите через SSH -терминал

$ ssh -i "yourapp.pem" ubuntu@yourapppublicinstance.compute-1.amazonaws.com

или же

Подключите через интерфейс браузера

2) Обновить Ubuntu и установить Apache Webserver и MOD_WSGI.

$ sudo apt-get update 

$ sudo apt-get install apache2 

$ sudo apt-get install libapache2-mod-wsgi

Теперь, как только это будет сделано, если вы попадете в публичный IP своего EC2 в любом браузере, вы сможете это увидеть.

Теперь, когда работает Apache Server, давайте настраивают PIP и другие зависимости для сервера Flask

$ sudo apt-get **install** python3
$ sudo apt-get **install** python3-pip 
$ sudo pip **install** flask

Python 3, скорее всего, будет установлен, но команда гарантирует, что он существует и находится в правильной версии.

2) Создайте каталог для приложения Flask

Мы создадим каталог в нашем домашнем каталоге для работы, и ссылки на него из корреации сайта, определенной в конфигурации Apache. Обычно в

/var/www/html

В качестве альтернативы его можно изменить или проверить на

/etc/apache2/sites-enabled/000-default.conf

Убедитесь, что мы находимся в корневом каталоге и

$ cd ~
$ mkdir ~/flaskapp 
$ sudo ln -sT ~/flaskapp /var/www/html/flaskapp

Чтобы убедиться, что наша операция работает, создайте простой файл index.html.

**$** cd ~/flaskapp 
**$** echo "Hola" > index.html

Теперь publicip/flaskapp

отобразит экран Hola

2) Настройка приложения Flask и развертывание

1) Создать приложение Анкет Мы будем использовать простой пример «Hello World» из документации Flask. Поместите следующий контент в файл с именем flaskapp.py

**from** flask **import** Flask app = Flask(\_\_name\_\_)
**@app.route('/')** 
**def**  **hello\_world** ():
**return**'Hello from Flask!' 
**if** \_\_name\_\_ == '\_\_main\_\_':
   app.run()

2. Создайте файл .wsgi для загрузки приложения.

Давайте сделаем базовый код WSGI, поместим следующий контент в файл с именем flaskapp.wsgi

#flaskapp.wsgi  
**import** sys 
sys.path. **insert** (0, '/var/www/html/flaskapp')

**from** flaskapp **import** app **as** application

3. Включить mod_wsgi.

Сервер Apache отображает HTML -страницы по умолчанию, но для обслуживания динамического контента из приложения Flask нам придется внести несколько изменений. В файле конфигурации Apache, расположенном по адресу /etc/apache2/sites-enbabled/000-default.conf , добавьте следующий блок сразу после документации /var/www/html линия:

WSGIDaemonProcess flaskapp threads=5
WSGIScriptAlias / /var/www/html/flaskapp/flaskapp.wsgi  
****  
     WSGIProcessGroup flaskapp
     WSGIApplicationGroup %{GLOBAL}
     Order deny,allow
     Allow from all 
****

4. Перезагрузите веб -сервер.

Используйте эту команду, чтобы перезапустить сервер с новой конфигурацией

$ sudo service apache2 restart

Вуаля! При этом наш сервер Flask теперь работает.

Играйте с Flask и Python и реализуйте все, о чем думает ваш разум.

Лучше всего выучить колбу

Учебное пособие Mega Flask Mega по Мигель Гринберг является идеальным начальным ресурсом для использования этой веб -структуры. Каждый пост фокусируется на одной теме и опирается на предыдущие посты. Серия включает 18 частей: #1 Hello World , #2 шаблоны , #3 веб -формы , #4 База данных , #5 Пользовательские логины , #6 Страница профиля и аватары , #7 ЕДИНЦИОННЫЕ Тестирование , #8 подписчиков, контактов и друзей , #9 Правительство , #10 Полный текстовый поиск , #11 Поддержка по электронной почте , #12 Фейлинга , #13 свиданий и времен , #14 I18N и L10N , #15 Ajax , #16 Отладка, тестирование и профилирование , #17 Развертывание на Linux и #18 развертывание в облаке Heroku Анкет Мигель также написал и записал многочисленные Flask Web Development Content, включая отличную книгу и видео Книга, которые являются отличными ресурсами, стоит того, особенно для поддержки его постоянных изменений в контенте.

Счастливого обдумывания

Оригинал: “https://dev.to/innovationincu/deploy-a-flask-app-on-aws-ec2-13la”