Разворачиваем Flask + Gunicorn приложение на Heroku

Статьи

Разворачиваем Flask + Gunicorn приложение на Heroku

Автор: Рамис, 28 октября 2021

Из этого руководстве вы узнаете как развернуть Flask + Gunicorn приложение на Heroku.

Flask приложение

Шаг 1. Создайте директорию project, и виртуальное окружение для вашего проекта.

mkdir project
cd project
python -m venv env
env\Scripts\activate

После активации среды env\Scripts\activate, в вашей командной строке должен появится префикс env.

виртуальное окружение

Шаг 2. Установите Flask и gunicorn, запустив следующую команду:

pip install flask gunicorn

Сохраните все зависимости вашего проекта, создав файл requirements.txt

pip freeze > requirements.txt

Шаг 3. Инициализируйте репозиторий в существующем каталоге project командой:

git init

Создайте файл .gitignore, и укажите что должен игнорировать Git.

/env

Шаг 4. В каталоге project создайте Flask приложение с именем run.py

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello Ramziv!'


if __name__ == '__main__':
    app.run()

Укажите, какая команда должна быть выполнена для запуска вашего приложения, создав файл Procfile с содержимым:

web: gunicorn run:app

Приложение готово. Структура проекта.

project/
    run.py
    .gitignore
    requirements.txt
    Procfile
    env/
        ...

Heroku

Heroku

Шаг 1. Зарегистрируйте учетную запись Heroku.

Установите Heroku CLI, это позволит вам управлять приложением прямо из командной строки.

Heroku

Шаг 2. Войдите в Heroku из терминала с помощью следующей команды.

heroku login

Шаг 3. Создайте приложение

heroku create ramziv-flask-site --buildpack heroku/python

Придумайте и замените ramziv-flask-site на имя своего приложения

Шаг 4. Разверните приложение на heroku

git add . 
git commit -m "flask project"
git push heroku master

Готово.

Теперь можно открыть URL-адрес сгенерированный по имени приложения.

Heroku Flask Python

В моем случае https://ramziv-flask-site.herokuapp.com/

Комментарии

Markdown
Войти

Меню

Объявление

Нашли на сайте баг OR ошибку OR фичу? Прошу Вас сообщить мне через обратную связь, или комментарий.

Есть идеи для сайта? Свяжитесь со мной через форму обратной связи. Наш разработчик всегда рад готов добавить что то новое.