Из этого руководстве вы узнаете как развернуть 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
Шаг 1. Зарегистрируйте учетную запись Heroku.
Установите Heroku CLI, это позволит вам управлять приложением прямо из командной строки.
Шаг 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-адрес сгенерированный по имени приложения.
В моем случае https://ramziv-flask-site.herokuapp.com/