ИнструкцииИнтернетПомощьТехнологии

Установка, настройка и запуск бота Python на виртуальном сервере (VPS)

Для того чтобы установить, настроить и запустить бота Python на виртуальном сервере (VPS), нужно сделать всего несколько шагов. Самое главное — быть внимательным.

Что мы имеем?

На начало установки, у нас на компьютере есть папка уже написанного на Python бота. В каком приложении мы его писали и запускали не важно. Важно не запутаться в папках и файлах.

Мы имеем папку my_bot, а в ней:
my_bot.py
requirements.txt

Также, у нас уже есть оплаченный виртуальный сервер (VPS) у провайдера Beget, доступ к которому мы найдем в личном кабинете на вкладке Облако. Пароль, если что, ищем в письме от Beget support@beget.ru.

Что хотим на сервере?

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

В корневой директории создадим:
— папку our_bots
— — bot_1
— — bot_2

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

Шаг 1: Подготовка виртуального сервера

1. Подключение к серверу

Используем SSH для подключения к своему виртуальному серверу. В Windows в поиске пишем — Терминал и запускаем его. В терминале пишем следующую команду:

ssh <user>@<server_ip>

Заменив <user> на имя пользователя и <server_ip> на IP-адрес сервера. Эти данные берем в личном кабинете Beget или в письме от него же. Должно получиться так:

ssh user@192.168.1.1

Далее пишем пароль и жмем Enter.

2. Обновление системы

После подключения к серверу обновляем список пакетов:

sudo apt update

Устанавливаем последние версии установленных пакетов:

sudo apt upgrade -y

Шаг 2: Установка Python и необходимых библиотек

1. Проверка версии Python

Так как сервер новый, на нем не установлен Python. Устанавливаем его:

sudo apt install python3 python3-pip -y

Если на сервере Python уже установлен, проверяем версию:

python3 --version

Шаг 3: Создание виртуального окружения

Для изоляции зависимостей проекта лучше использовать виртуальное окружение (virtual environment):

sudo apt install python3-venv -y

Создаем папку /our_bots/bot_1/:

sudo mkdir -p /our_bots/bot_1/

Переходим в эту директорию:

cd /our_bots/bot_1/

Создаем в ней виртуальное окружение:

python3 -m venv venv

Активируем виртуальное окружение:

source venv/bin/activate

Шаг 4: Установка зависимостей

Так как у нас есть файл requirements.txt с необходимыми библиотеками, открываем личный кабинет Beget, переходим на вкладку Облако, нажимаем Файловый менеджер, и загружаем в папку /our_bots/bot_1/ наш файл requirements.txt

Возвращаемся в Терминал и устанавливаем библиотеки:

pip install -r requirements.txt

Если файла requirements.txt у вас нет, то устанавливайте библиотеки вручную. К примеру, так:

pip install aiogram requests

Шаг 5: Загрузка файлов бота

К сожалению, подключится через FTP к виртуальному серверу (VPS) Beget нельзя. Но можно попробовать через Терминал:

scp C:/Users/User/Desktop/my_bot/* <user>@<server_ip>:/our_bots/bot_1/

Если таким образом загрузить файлы не получится, то открываем личный кабинет Beget, переходим на вкладку Облако, нажимаем Файловый менеджер, и загружаем наши файлы вручную.

Шаг 6: Тестовый запуск бота

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

python /our_bots/bot_1/my_bot.py

Убедившись, что бот запускается без ошибок и всё работает, можно переходить к следующему шагу.

Шаг 7: Настройка автоматического запуска

Теперь настроим автоматический запуск бота при старте системы с использованием systemd.

1. Создаем новый файл сервиса для systemd. Назовём его bot_1.service:

sudo nano /etc/systemd/system/bot_1.service

2. В файл добавляем следующую конфигурацию:

[Unit]
Description=My Bot Service
After=network.target

[Service]
WorkingDirectory=/our_bots/bot_1/
ExecStart=/our_bots/bot_1/venv/bin/python /our_bots/bot_1/my_bot.py
Restart=always
User=<имя_пользователя>

[Install]
WantedBy=multi-user.target

3. Сохраняем файл и выходим из редактора (Ctrl + X, затем Y, и Enter).

Шаг 8: Перезагрузка демонов и запуск сервиса

1. Перезагружаем демоны systemd, чтобы система обнаружила новый файл сервиса:

sudo systemctl daemon-reload

2. Запускаем сервис:

sudo systemctl start bot_1

3. Включаем автозапуск при старте системы:

sudo systemctl enable bot_1

Шаг 9: Проверка статуса и логов

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

sudo systemctl status bot_1

Если бот не запускается или возникают ошибки, можно смотрим логи:

journalctl -u bot_1 -f

Шаг 10: Проверка запуска после перезагрузки

Перезагружаем сервер и проверяем, что бот запустился автоматически:

sudo reboot

После перезагрузки сервера, можем снова проверить статус сервиса:

sudo systemctl status bot_1

Управление сервисом

Остановка бота:

sudo systemctl stop bot_1

Перезапуск бота:

sudo systemctl restart bot_1

Все! Теперь наш бот настроен и запущен на виртуальном сервере (VPS). Он будет автоматически перезапускаться при сбоях или перезагрузках системы.

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.