Вы написали своего первого бота, он отлично работает на локальном компьютере, но выключается, когда вы закрываете ноутбук? Пора переезжать на VPS (виртуальный сервер).
В этой статье мы разберем самый простой способ запустить бота так, чтобы он работал 24/7.
Если у вас еще нет сервера, рекомендуем ознакомиться с нашей статьей по выбору хостинга, чтобы не переплатить за лишние ресурсы. Для простого бота обычно достаточно минимального тарифа.
После покупки у вас должны быть:
root).Откройте терминал (на Mac/Linux) или PowerShell (на Windows) и введите:
ssh root@ваш_ip_адрес
Введите пароль (символы не будут отображаться при вводе) и нажмите Enter.
Большинство ботов написаны на Python (aiogram, telebot) или JavaScript (Telegraf). Рассмотрим пример для Python.
Сначала обновим список пакетов:
apt update && apt upgrade -y
Установим Python и менеджер пакетов pip, если их нет:
apt install python3 python3-pip git -y
Самый удобный способ перенести код — использовать Git.
git clone https://github.com/ваш-ник/ваш-репозиторий.git
cd ваш-репозиторий
pip3 install -r requirements.txt
(Не забудьте создать файл requirements.txt заранее командой pip freeze > requirements.txt на своем компьютере).
Если просто запустить бота командой python3 bot.py, он выключится при закрытии терминала. Чтобы этого не произошло, создадим системную службу.
nano /etc/systemd/system/bot.service
[Unit]
Description=My Telegram Bot
After=network.target
[Service]
User=root
WorkingDirectory=/root/ваш-репозиторий
ExecStart=/usr/bin/python3 /root/ваш-репозиторий/bot.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Сохраните (Ctrl+O, Enter) и выйдите (Ctrl+X).
Активируйте и запустите бота:
systemctl daemon-reload
systemctl enable bot
systemctl start bot
Проверьте статус вашего бота командой:
systemctl status bot
Если горит зеленый индикатор active (running), поздравляем! Ваш бот теперь работает круглосуточно, и перезагрузка сервера ему не страшна.
Теперь, когда бот работает, стоит задуматься о безопасности вашего сервера. Незащищенный VPS — легкая мишень для взломщиков.
Если вы не хотите разбираться в администрировании Linux, настройке Firewalld и Docker, вы можете найти специалиста на FreelanceHub, который настроит сервер "под ключ".