Flask - это микрофреймворк для веб-разработки, написанный на языке Python. Он прост в освоении и использовании. Flask дружелюбен к новичкам, поскольку в нем нет шаблонного кода и зависимостей, а вся логика приложения может уместиться в рамках одного файла.
Для установки и создания веб-приложения Flask на виртуальном хостинге потребуется выполнить следующие действия, описанные ниже. Установка Flask осуществляется посредством протокола SSH.
Перед установкой необходимо выполнить несколько подготовительных шагов:
- Создаем файл профиля в корне аккаунта и прописываем туда путь до локальной директории каталога, в которой будут находится файлы виртуального окружения и необходимые библиотеки Flask:
- Добавляем в созданный файл строку:
- После этого нужно разлогиниться и снова подключиться к серверу.
- Теперь скачиваем утилиту get-pip:
- Устанавливаем утилиту get-pip:
- Устанавливаем virtualenv:
Установка фреймворка
- Для установки необходимо воспользоваться утилитой virtualenv. Создать и активировать виртуальное окружение для Flask можно в каталоге ".flaskvenv":
username@vh200 ~ $ source .flaskvenv/bin/activate
- Далее необходимо установить требуемую версию фреймворка в виртуальном окружении:
- В следующем шаге необходимо перейти в каталог сайта, где будет расположен сам проект. В качестве примера выбран каталог "~/site1" на который направлен домен:
- Далее потребуется создать файл app.py, в котором будет описана логика приложения. В файл потребуется добавить следующее содержимое:
app = Flask(__name__)
@app.route("/")
def index():
return "<h1>Приложение Flask в Spaceweb!</h1>"
if __name__ == "__main__":
app.run(host='0.0.0.0')
- Следующим шагом потребуется создать файл wsgi.py, и добавить в него следующее:
import os,sys
#путь к проекту
sys.path.append('/home/u/username/site1/public_html')
#путь к фреймворку
sys.path.append('/home/u/username/site1')
#путь к виртуальному окружению
sys.path.append('/home/u/username/.flaskvenv/lib/python3.8/site-packages/')
#исключить системную директорию
sys.path.remove('/usr/lib/python3.8/site-packages')
from app import app
application = app
- Также потребуется создать в корне проекта файл .htaccess и добавить в него:
AddHandler wsgi-script .py
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ wsgi.py/$1 [QSA,L]
Для того чтобы изменения вступили в силу, необходимо выполнять перезапуск Flask. Для этого нужно перейти в Панель управления аккаунта, в раздел Хостинг->Сайты нажать на нужный сайт, в колонке Конфигурация нажать на ссылку Настройки и далее выбрать текущую версию бэкэнда "Apache 2.4 + PHP 8 opcache + mod_wsgi python3.8 (Актуальная версия)" и нажать на кнопку сохранить. В этом случае Flask будет перезапущен и изменения будут приняты системой.
При использования бэкэнда Apache 2.2 + mod_passenger + mod_wsgi, стоить обратить внимание, что в этом случае Модуль mod_wsgi использует по умолчанию python 2.7 и новые версии Flask будут работать с ошибками.