# Запуск Flask-приложения на Джино.Хостинге
Flask — фрэймворк для создания веб-приложений на языке Python. Минималистичный, обладающий базовым набором функций, Flask отлично подходит для создания небольших сайтов и приложений, не требующих большого количества ресурсов и подключаемых библиотек.
Рассмотрим запуск простого Flask-сайта на хостинге Джино.
Для запуска Flask-проектов на хостинге нужно создать новое виртуальное окружение для Python и затем загружать на сервер созданный на локальной машине проект.
Для загрузки проекта на сервер есть три основных способа:
- загрузка через протоколы передачи файлов (FTP, FTPS, SFTP);
- использование git-репозитория;
- деплой проекта с помощью инструментов, встроенных в IDE, с которой вы работаете.
Для запуска Flask-приложения вам понадобятся подключённые услуги Поддержка веб-приложений и Поддержка SSH. После их подключения можно начинать работу.
# Создание виртуального окружения
Для запуска Flask-приложения (нового сайта) создадим новое виртуальное окружение, активируем и установим в него Flask:
/opt/alt/python37/bin/virtualenv --python /opt/alt/python310/bin/python3 flask_venv
source ./flask_venv/bin/activate
pip install flask
# Output
…
Successfully installed Jinja2-3.1.2 MarkupSafe-2.1.1 Werkzeug-2.1.2 click-8.1.3 flask-2.1.2 itsdangerous-2.1.2
Здесь /opt/alt/python310/bin/python3
— путь к интерпретатору Python 3.10. Список поддерживаемых версий Python и их расположение можно найти в разделе УправлениеТехническая информация.
# Создание сайта на Flask
Создавать Flask-приложение можно в любой удобной для вас IDE.
Начнём с создания файла hello.py со следующим содержимым:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
if __name__ == "__main__":
app.run()
Это Python-код, который выведет на главную страницу нашего сайта стандартное приветствие Hello, World!
После этого переходим к запуску приложения.
# Запуск Flask-приложения
Для запуска Flask-приложения на хостинге Джино его нужно деплоить на хостинг и создать файл passenger_wsgi.py для запуска Python-кода через mod_passenger.
Загрузите своё Flask-приложение на хостинг любым удобным для вас способом. Файлы приложения должны располагаться в папке domains в подпапке с доменным именем, на котором будет запускаться приложение (например: ~domains/example.com
)
После этого в папке с доменным именем создайте файл passenger_wsgi.py следующего содержания:
import sys, os
INTERP = os.path.expanduser("~/flask_venv/bin/python3")
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)
sys.path.append(os.getcwd())
from flask_app.hello import app as application
После сохранения файла нужно перейти в раздел УправлениеНастройки веб-сервера и проверить, что версия интерпретатора совпадает с той, для которой создано виртуальное окружение. Далее перезагрузите веб-сервер.
Теперь, если мы откроем браузер и укажем в адресной строке имя нашего сайта, мы должны увидеть стандартное приветствие Hello, World!.