Oleg Polikhronidi
Умник
Как запустить питон-скрипт или тг-бота на сервере и оставить работать скрипт 24/7?
Многие пишут ботов и скрипты локально, но упираются в простую проблему, что после закрытия ПК всё падает.
Решение очевидное: выносить проект на VPS/VDS. Ниже сделал рабочий и понятный способ развернуть любой питоновский скрипт на сервере и оставить его работать постоянно!
Что потребуется нам:
• любой VPS/VDS (подойдёт самый дешёвый. к сожалению правилами павно-инфо нельзя рекомендовать хостинги, так что рекомендацию дать не смогу)
• ОС: Ubuntu 22.04, доступ по SSH и установленный питон скрипт
Хостинг не принципиален так как логика одинаковая везде.
1. Аренда сервера
После регистрации и оплаты сервера зайдите в панель управления и сохраните три вещи:
• IP сервера
• логин (обычно root)
• пароль
Без этого дальше не поедем.
2. Подключение к серверу
Подключаться можно чем угодно: PuTTY, MobaXterm, WinSCP, FileZilla. Тут сами выбирайте что удобнее. Если коротко, Вам нужен доступ по SSH.
Пример подключения:
• Host это IP сервера
• Login это имя пользователя
• Password это пароль
После успешного входа вы увидите терминал сервера.
3. Загрузка проекта на сервер
Любым SFTP-клиентом (я использую много лет FileZill) закидываем папку со скриптом в домашнюю директорию сервера. Путь не критичен, главное помнить где лежит проект.
4. Подготовка системы
Обновляем систему и ставим базовые утилиты:
Код:
sudo apt update -y && sudo apt upgrade -y
sudo apt install curl screen -y
В примере используется Python 3.10, но версию можно заменить под себя
Код:
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.10 python3.10-dev python3-pip -y
python3.10 -m pip install --upgrade pip setuptools
Код:
python3.10 --version
Если библиотеки ставите вручную:
Код:
python3.10 -m pip install название библиотеки
Код:
python3.10 -m pip install -r requirements.txt
Для постоянной работы используется утилита screen.
Создаём сессию:
Код:
screen -S bot
Код:
python3.10 main.py
Код:
CTRL + A → D
Весь скрипт продолжит работу.
8. Управление screen
Посмотреть активные сессии:
Код:
screen -ls
Код:
screen -r ID
Код:
screen -xr ID
Код:
screen -X -S ID quit
Для каждого проекта создаётся отдельный screen:
Код:
screen -S bot2
screen -S parser
screen -S worker
Ограничений нет, пока хватает ресурсов сервера. После этих шагов любой питон-скрипт или тг-бот спокойно работает 24/7 без вашего участия.
Сервер не выключается, соединение не обрывается, а управление остаётся через screen. Если что-то упало всегда можно зайти, посмотреть логи и перезапустить за пару команд.
Сервер не выключается, соединение не обрывается, а управление остаётся через screen. Если что-то упало всегда можно зайти, посмотреть логи и перезапустить за пару команд.
Последнее редактирование модератором:
