В данной статье мы расскажем, как запустить существующий сайт на фреймворке Flask.
При создании нового сайта укажите его имя и выберите язык программирования python wsgi:
Затем перейдите в настройки созданного сайта и установите необходимую версию python.
Загрузите файлы приложения, подключившись по SFTP.
Примечание. Файлы сайта должны размещаться в каталоге
sitename.ru/app
.
Подключитесь к серверу хостинга по SSH (инструкция) и перейдите в каталог с приложением:
cd ~/sitename.ru/app
Выполните ручную установку библиотек, с помощью команды
pip install
Либо установите все нужные библиотеки из файла с зависимостями, например с помощью команды
pip install -r requirements.txt
Будут установлены необходимые пакеты для работы сайта.
Если Ваш сайт, обращается к файлам по http сслыкам - http://sitename.ru/script.js
То загрузите статические данный в папку
~/sitename.ru/www
Либо сделайте симлинк для данных. Например
ln -s ~/sitename.ru/app/static ~/sitename.ru/www
Настройте работу Вашего приложения, учитывая особенности услуги Хостинг.
Мы покажем пример доработки кода.
У нас есть простой сайт написанный на 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)
После ознакомления с примером, откройте главный файл Вашего приложения и сделайте такие же доработки кода.
Откройте вкладку “Python WSGI” на странице сайта в личном кабинете.
В переменной APP_PATH
замените запись wsgi.py
на главный файл Вашего приложения, откуда оно запускается.
В переменной APPLICATION
замените запись application
на названия Вашего проекта. Обычно используется название app
.
Перезапустите процесс Python, для этого нажмите сверху на кнопку “Перезапустить Python WSGI”
Если А-записи в настройках DNS уже вступили в силу, то сайт уже должен быть доступен с хостинга. Так же не забудьте подключить SSL-сертификат безопасности.