Установка Flask на хостинг

Flask — это фреймворк для создания веб-приложений на языке программирования Python. Он относится к категории микрофреймворков, т.е. представляет из себя каркас веб-приложения с базовыми возможностями.

Обратите внимание: перед установкой Flask убедитесь, что ваш домен привязан к хостингу. Если это не так, привяжите его по инструкции.

Установка Flask

Для установки фреймворка выполните шаги инструкции:

1. Войдите в панель управления хостингом ISPmanager. Для этого в личном кабинете в строке услуги хостинга нажмите на три точки. Затем в выпадающем списке кликните Войти в панель управления.

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

2. Откройте раздел Сайты. Выберите нужный домен и нажмите Изменить:

Изменить настройки сайта в ISPmanager 6

3. В разделе «Дополнительные возможности» включите CGI-скрипты и Python. Назначьте версию Python и кликните ОК:

Настройки сайта в ISPmanager 6

4. Подключитесь к хостингу по SSH.

5. Введите команду cd ~, чтобы перейти в каталог пользователя.

С помощью команды pwd убедитесь, что вы в нужном каталоге:

6. Создайте виртуальное окружение Virtualenv с произвольным именем для той версии Python, которую вы планируете использовать в проекте. 

Достпуные версии Python можно узнать с помощью команды:

ls -la /opt/python/*/bin/python

Создать виртуальное окружение можно командой:

/opt/python/python-3.7.0/bin/python -m venv flaskenv

Вместо python-3.7.0 укажите вашу версию Python, а вместо flaskenv — название виртуального окружения.

7. Активируйте виртуальное окружение командой:

source flaskenv/bin/activate

Вместо flaskenv укажите название виртуального окружения.

Когда окружение активируется, его название появится слева от строки ввода команды:

8. Обновите Flask-пакеты командой:

pip install --upgrade pip && pip install flask

9. Удалите все файлы и папки из корневого каталога сайта. Затем создайте файл с названием «hello.py». 

10. Запишите в файл код и сохраните его:

from flask import Flask

application = Flask(__name__)


@application.route("/")
def hello():
   return "<h1 style='color:blue'>Hello There!</h1>"

if __name__ == "__main__":
   application.run(host='0.0.0.0')

Обратите внимание: главный экземпляр класса Flask обязательно должен называться application.

11. В корневом каталоге создайте файл с названием «passenger_wsgi.py» и добавьте в него код:

import sys

import os

INTERP = os.path.expanduser("/var/www/u0000005/data/flaskenv/bin/python")
if sys.executable != INTERP:
   os.execl(INTERP, INTERP, *sys.argv)

sys.path.append(os.getcwd())

from hello import application

Обратите внимание

  • в строке os.path.expanduser(«/var/www/u0000005/data/flaskenv/bin/python») вместо u0000005 укажите логин вашей услуги хостинга, а вместо flaskenv — название виртуального окружения, которое вы создали на шаге 6;
  • в строке from hello import application значение hello должно соответствовать названию файла без расширения, который вы создали на шаге 9.

12. Сохраните изменения.

Готово, если установка прошла успешно, по адресу домена вы увидите сообщение «Hello There!».
 

Если вы не нашли ответ, спросите у нас!
Написать в поддержку