Запуск сайта на Flask

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

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

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

При создании нового сайта укажите его имя и выберите язык программирования python wsgi:

stat_flask_1.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_flask_2.png

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

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

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

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

Хостинг
Хостинг
Хостинг
Создавайте неограниченное количество сайтов в изолированных контейнерах
С 2003 года
Надежность.
Нам доверяют десятки тысяч компаний и разработчиков
21 год
Предоставляем услуги профессионального хостинга
35 000
Клиентов доверяют нам размещение своих сайтов
99.99%
Подтвержденный uptime
наших серверов хостинга
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
ВК49865