Нам нужен VPS сервер.
Вид сервера, root-доступ к которому его клиент получает посредством удалённого интернет соединения. В плане управления операционной системой по большей части соответствует физическому выделенному серверу.
Его мы арендуем по ссылке https://justhost.ru/?ref=201131
Как его арендовать и настроить VPN есть тут https://dzen.ru/a/ZsL54m7_TGmMfDnh
1. Подготовка сервера
- Подключение к серверу
Используйте SSH для подключения к серверу. Нажимаем win+r.
В водим cmd и нажимаем Ок.
В командной строке вводим ssh root@"свой ip сервера который пришел в на почту (где написано доступ по SSH ip, не ipv6)"
2. Обновление системы
Перед началом работы обнови список пакетов и установи обновления:
sudo apt update
2. Установка Python и необходимых библиотек
1. Установка Python
Вводим команду
sudo apt install python3 python3-pip
2. Установка необходимых библиотек
Установите python-telegram-bot и другие библиотеки, которые могут понадобиться:
pip3 install python-telegram-bot
Если у вас ошибка Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 1918. У меня просто ничего не устанавливалось, при попытке установить что то возникала эта ошибка. Мне помогло :
- Проверьте состояние процесса dpkg:
Найдите процесс dpkg и проверьте его состояние:
ps aux | grep dpkg
Это позволит вам узнать, что делает процесс и сколько времени он уже работает. - Подождите завершения процесса:
Если процесс dpkg выполняет какую-то задачу (например, устанавливает или удаляет пакеты), лучше подождать, пока он завершится. Это может занять некоторое время, особенно если выполняется важное обновление или установка. - Попробуйте удалить блокировки:
Если процесс dpkg висит и не завершает работу, можно попробовать удалить файлы блокировок. Сначала убедитесь, что никакие процессы не используют apt или dpkg:
sudo lsof /var/lib/dpkg/lock
Если никакие процессы не используют этот файл, удалите блокировки:
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend
Затем восстановите состояние базы данных пакетов:
sudo dpkg --configure -a
Долгий процесс, подождите его завершения!
Перезагрузка сервера
sudo reboot
3. Загрузка и настройка скрипта бота
- Загрузка скрипта на сервер
nano имя_фашего_Файла_на_Сервере_.py - Настройка скрипта.
Скопируйте ваш рабочий бот, и вставьте в файл.
- Сохраните изменения, нажав Ctrl+S
- Выйдите из редактора, нажав Ctrl+X
4. Запуск бота
- Запуск скрипта
Создаем скрипт:
python3 /root/имя_фашего_Файла_на_Сервере_.py - Работа в фоновом режиме
Чтобы скрипт продолжал работать после выхода из SSH-сеанса, можно использовать screen или tmux. Установка screen:
sudo apt install screen
Создание новой сессии screen:
screen -S bot_session
Запуск скрипта внутри screen:
python3 /root/имя_фашего_Файла_на_Сервере_.py
Для выхода из сессии screen, нажми Ctrl+A затем D. Чтобы вернуться к сессии, используй команду:
screen -r bot_session
У меня выйте не получилось, просто переподключился к серверу.
5. Автозапуск бота
Чтобы бот запускался автоматически при перезагрузке сервера, можно использовать systemd.
- Создание файла службы
Создай файл службы для systemd:
sudo nano /etc/systemd/system/telegram-bot.service
Добавьте следующее содержимое:
[Unit]
Description=Telegram Bot
[Service]
ExecStart=/usr/bin/python3 /root/имя_фашего_Файла_на_Сервере_.py
WorkingDirectory=/root
Restart=always
[Install]
WantedBy=multi-user.target
Замените везде имя_фашего_Файла_на_Сервере_.py на соответствующие значения. - Запуск и активация службы
Перезагрузите systemd и запусти службу:
sudo systemctl daemon-reload
sudo systemctl start telegram-bot
sudo systemctl enable telegram-bot
Теперь бот будет автоматически запускаться при перезагрузке сервера и работать в фоновом режиме.
6. Проверка состояния
Для проверки состояния службы используйте команду:
sudo systemctl status telegram-bot
Если что то не так увидите ошибку, проверьте что везде правильное имя написали и проверили что бот ваш работает.
Если все хорошо увидете active.
Эти шаги должны помочь вам успешно запустить и поддерживать работу вашего Telegram-бота на сервере с Ubuntu.
Спасибо что прочитали ! Все идеи можно воплотить! Ваш помощник по железкам и экономии Роман Тимошенко! До скорого!