Сайты и приложения

Как выложить сайт на Python в интернет

· 3 мин чтения

Коротко

Чтобы выложить сайт на Python, соберите код в одну папку с requirements.txt и загрузите ее архивом или из GitHub. Netrun определит Python, установит зависимости и выдаст ссылку с HTTPS — без своего сервера, nginx и ручного сертификата. Подходят Flask, FastAPI и Django; приложение должно слушать адрес 0.0.0.0 и порт из переменной PORT.

  • Netrun определяет Python-проект по файлу requirements.txt и сам устанавливает перечисленные в нем зависимости.
  • Сайт на Flask, FastAPI или Django должен слушать адрес 0.0.0.0 и порт из переменной окружения PORT.
  • Ключи API и строку подключения к базе Netrun спрашивает при настройке и хранит зашифрованными, а не в коде.
  • Чтобы выложить новую версию сайта, достаточно обновить код в кабинете: Netrun пересоберет проект.
  • На бесплатном тарифе сайт засыпает без посетителей и просыпается сам, а на тарифе Pro работает без сна.

Обычный путь публикации сайта на Python — арендовать сервер, поставить gunicorn или uvicorn, настроить nginx как прокси, получить сертификат для HTTPS и следить за всем этим. Много шагов до того, как сайт откроется по ссылке.

В Netrun достаточно загрузить код. Платформа определит, что это Python-проект, соберет его и выдаст рабочий адрес с HTTPS. Разберем по шагам.

  1. Соберите проект#

    Положите код в одну папку с файлом зависимостей requirements.txt. Подойдет любой фреймворк — Flask, FastAPI или Django. Убедитесь, что проект запускается локально.

  2. Загрузите код в Netrun#

    ZIP-архивом или импортом из GitHub-репозитория. Netrun определит Python и соберет проект сам — настраивать сборку вручную не нужно.

  3. Ответьте на пару вопросов#

    Если проекту нужны секреты — ключи API, строка подключения к базе данных — укажите их значения при настройке. Так они не лежат в коде.

  4. Получите ссылку#

    После сборки Netrun выдаст публичный адрес с HTTPS. Сайт доступен всем, кому вы дадите ссылку.

  5. Обновляйте и следите#

    Логи и статус — в кабинете. Чтобы выложить новую версию, обновите код, и Netrun пересоберет проект.

Сайт на Python в интернете — без сервера, nginx и ручного HTTPS. Аналогично разворачиваются проекты на Node.js, Go, PHP и других языках. Попробовать Netrun.

Частые вопросы

Какой фреймворк выбрать для первого сайта на Python?

Для небольшого сайта или API проще всего Flask или FastAPI: мало кода и быстрый старт. Django удобен, когда сразу нужны админка, пользователи и работа с базой данных. Публикуются все три одинаково.

Нужно ли загружать папку venv?

Нет. Достаточно файла requirements.txt: зависимости Netrun установит сам. Составить список можно командой pip freeze > requirements.txt в активированном окружении.

Почему сайт работает локально, а по ссылке нет?

Чаще всего приложение слушает 127.0.0.1 вместо 0.0.0.0 или порт прописан числом, а не берется из переменной PORT. Еще одна частая причина — в requirements.txt забыта библиотека. Подробности ошибки видны в логах в кабинете.

Сохранятся ли данные сайта после обновления кода?

Да, если приложение пишет их в постоянную папку /data: ее содержимое переживает обновление кода и перезапуск. Все, что записано вне /data, при следующей публикации пропадает.

Можно ли выложить на Python не сайт, а бота или скрипт?

Да. Если программа не слушает порт, Netrun запустит ее как фоновый процесс без ссылки. На бесплатном тарифе бот или скрипт работает ограниченное время, а круглосуточно — на тарифе Pro.

Запустите свой проект

Загрузите код, ответьте на пару вопросов — и получите рабочую ссылку. Есть бесплатный тариф

Попробовать Netrun
Все статьи блога