Хостинг
VDS
Аренда серверов
Домены
Почта
SSL
Хранилище
Сайты
Обзоры
Регламенты
AI Studio
Kubernetes
Архив
Запуск сайта на Flask

Запуск сайта на фреймворке Flask

В данной статье мы расскажем, как запустить существующий сайт на фреймворке Flask.

1. Создание сайта

При создании нового сайта укажите его имя и в качестве конфигурации выберите “Python Wsgi” + нужный тип базы данных: :

stat_python_flask1.png

Затем перейдите в настройки созданного сайта и установите необходимую версию python.

Загрузите файлы приложения, подключившись по SFTP.

Примечание. Файлы сайта должны размещаться в каталоге sitename.ru/app.

2. Установка зависимостей

Подключитесь к серверу хостинга по SSH (инструкция) и перейдите в каталог с приложением:

cd ~/sitename.ru/app

Выполните ручную установку библиотек, с помощью команды

pip install 

Либо установите все нужные библиотеки из файла с зависимостями, например с помощью команды

pip install -r requirements.txt 

Будут установлены необходимые пакеты для работы сайта.

3. Работа со статическими файлами

Если Ваш сайт, обращается к файлам по http сслыкам - http://sitename.ru/script.js

То загрузите статические данный в папку

~/sitename.ru/www

Либо сделайте симлинк для данных. Например

ln -s ~/sitename.ru/app/static ~/sitename.ru/www 

4. Настройка приложение

Настройте работу Вашего приложения, учитывая особенности услуги Хостинг.

Мы покажем пример доработки кода.

У нас есть простой сайт написанный на Flask.

from flask import Flask
app = Flask(__name__)

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

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

Чтобы он запустился на услуге Хостинг, нужно чтобы во Flask передавались переменные окружения APP_IP и APP_PORT, которые указывают какой ip и порт должно прослушивать приложения.

Для этого в начало файла допишем import os. В конце файла заменим строчку app.run() на

host_app=os.getenv("APP_IP")
port_app=os.getenv("APP_PORT")
app.run(host=host_app, port=port_app)

В итоге получается файл

import os
from flask import Flask
app = Flask(__name__)

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

if __name__ == '__main__':
    host_app=os.getenv("APP_IP")
    port_app=os.getenv("APP_PORT")
    app.run(host=host_app, port=port_app)

После ознакомления с примером, откройте главный файл Вашего приложения и сделайте такие же доработки кода.

5. Завершение установки

Откройте вкладку “Python WSGI” на странице сайта в личном кабинете.

stat_python_flask2.png

В переменной APP_PATH замените запись wsgi.py на главный файл Вашего приложения, откуда оно запускается.

В переменной APPLICATION замените запись application на названия Вашего проекта. Обычно используется название app.

В результате должны получится следующие настройки

stat_python_flask3.png

Перезапустите процесс Python, для этого нажмите сверху на кнопку “Перезапустить Python WSGI”

Если А-записи в настройках DNS уже вступили в силу, то сайт уже должен быть доступен с хостинга. Так же не забудьте подключить SSL-сертификат безопасности.

Хостинг
Хостинг
Хостинг
Создавайте неограниченное количество сайтов в изолированных контейнерах
Заказать

Нам доверяют тысячи компаний и разработчиков

22 года
Предоставляем услуги профессионального хостинга
35 000+
Клиентов доверяют нам размещение своих сайтов
99.99%
Подтвержденный uptime наших серверов хостинга
Callibri
Крылья
Tele-Club
Linline
Премьер зал
УГМК-Здоровье
Магнум
Алатырь
Туристер
Callibri
Крылья
Tele-Club
Linline
Премьер зал
УГМК-Здоровье
Магнум
Алатырь
Туристер
ВК49865