Поиск:

Поиск по:

Результаты поиска по запросу «»
Найдено совпадений
По вашему запросу ничего не найдено
.
Показать еще

Облачный хостинг - как работает Python AsyncIO

В облачном хостинге некоторые решения могут показаться вам нестандартными.
Поэтому перед началом работы мы бы рекомендовали ознакомиться с вводной статьей.

1. Запуск Python
2. Перезапуск сервиса после изменения кода сайта
3. Работа с ошибками приложения

AsyncIO - модуль для организации асинхронного программирования. Появился в Python 3.4.

На базе AsyncIO можно организовать поддержку WebSocket, либо обрабатывать большое количество соединений.

В отличие от обычных сайтов на Python, сайт на Python AsyncIO сам должен быть web-сервером для проксирования.

Таким образом ваше приложение будет запускаться не через wsgi, а как отдельный сервис.

Вашему сайту потребуется прикрепиться на IP и порт, указанные в переменных окружения APP_IP и APP_PORT. Пример.

1. Запуск Python

При создании сайта необходимо выбрать, что сайт работает на Python AsyncIO:

Настройки

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

Файлы вашего приложения можно расположить в каталоге sitename/app, а статические файлы (.css, .jpg, .png и другие) - в каталоге sitename/static.

Чтобы установить зависимости потребуется подключиться по SSH.

Далее установите зависимости:

pip install -r requirements.txt

или

python setup.py install

Для запуска сервера используйте переменные окружения APP_IP и APP_PORT

Пример для библиотеки aiohttp:

#!/usr/bin/env python3

from aiohttp import web

app = web.Application()
... # инициализация приложения AioHTTP

# Запуск сервера
web.run_app(app, host=os.environ['APP_IP'], port=os.environ['APP_PORT'])

После того как файлы будут загружены, откройте настройки сайта в панели управления и укажите файл для запуска вашего приложения. Например app/hello.py.

2. Перезапуск сервиса после изменения кода сайта

После изменения кода сайта потребуется перезапуск сервиса.

Для перезапуска приложения:

  • откройте настройки сайта в панели управления
  • далее вкладку AsyncIO
  • нажмите "Перезапустить приложение"

Для перезапуска приложения в терминальном режиме в папке с сайтом выполните команду

touch reload

Например

c566@h2:~/mydomain.ru$ touch reload

3. Работа с ошибками приложения

Если при обращении к сайту вы видите ошибку 502 Bad Gateway или аналогичную, то в первую очередь стоит обратиться к логам ошибок.

Возникавшие ошибки за нужную дату можно найти в файлах имясайта/log/app-runlog/current.

Наблюдение в реальном времени за лог-файлом:

tail -f ~/имясайта/log/app-runlog/current



Больше информации об облачном хостинге.

Регистрация доменов

в зонах .RU .РФ

от 200 рублей Зарегистрировать домен

SSL сертификаты

Подтверждение сайта и надежная защита

передаваемых данных

Купить сертификат

Облачные VDS

дешевле чашки кофе

Процессорных ядер: 4, Память: 4 Гб, Диск: 20 Гб SSD, Резервное копирование

от 35 р/день Заказать VDS

Все, что нужно от хостинга

Простое решение для вашего сайта

Подробнее

Хранилище данных

Храни что хочешь по смешным ценам

Почасовая оплата за размещенные данные.

Заказать хранилище