РАЗМЕЩАЕМ БОТА НА СЕРВЕРЕ | Телеграм боты ч. 5
Vložit
- čas přidán 25. 07. 2024
- В очередной части курса мы разместим бота на сервере. Я покажу полный процесс от создания requirements.txt файла до запуска бота. В видео работаем с менеджером процессов pm2.
===================================================
ℹ️ Наш TELEGRAM канал t.me/ideaschoo1
ℹ️ GitHub github.com/bugsandfeatures
===================================================
⏱ Главы ⏱
00:00 - Начало
00:30 - Демонстрация бота
00:42 - Создание requirements.txt
01:27 - Аренда сервера Timeweb
02:25 - Демонстрация панели усправления
03:13 - Настройка SSH подключения
05:15 - Настройка Linux
06:03 - Устанавливаем все утилиты
07:01 - Переносим проект на сервер
08:37 - Устанавливаем модули Python
09:00 - Зпускаем бота и особенности использования pm2
11:36 - Завершение
===================================================
💻 Быстрый хостинг для растущих проектов:
timeweb.cloud/?i=105035
Реклама
erid:2VtzqxTAHDw
Спасибо!! Недавно наткнулась на ваш канал, полезно. Как же круто, что нет воды, чёткая понятная речь и передана суть)) Вы офигенны
Спасибо за отзыв)
мужик, твой гайд просто лучший из лучших, спасибо огромнейшее
Отличное видео! Спасибо большое!
Огромное спасибо! Отличное и очень подробное объяснение!
Автор у Вас отлично получается доносить информацию до слушателей. И голос поставлен хорошо. Жалко что редкие выпуски видео
автор, ты лучший! столько облазил интернета, во всех видео проскакивают куски и ни фига не понятно, в твоем видео все доступным языком , хоть это первая моя работа с сервером.
Спасибо за это видео! Написал свой нубовский скрипт, а в плане диплоя ни в зуб ногой, как говорится😆 сделал все как в видео, но без менеджера процессов, через nohup. Потом замучился потоки останавливать. Установил pm2 и стало всё хорошо)
Спасибо, всё получилось!)
Спасибо! То что нужно было
Спасибо, ты многим помог)))
Вообще лучший, респект
Невероятно рад твоему возвращению!
Очень ждем твое видео с разработкой бота, а именно части где в БД загружается дата об клиенте после оплаты (ФИО, телефон , адрес доставки).
Будет😅 я все помню
Автор, тебе надо пожать руку. Такой хостинг искал, который более-менее адекватный по деньгам. Брал хостинг на Селектел, вот там кошель плачет. А когда бд туда приручиваешь, адский рёв - спасибо)
Все работает, имба видео!
Огромное спасибище! Разместил и запустил бота прям по инструкции!
@user-wy2kv9vc2p Да, боты все время работают. Но бывает перезапуск из-за проблем на самом хостинге.
Спасибо огромное !
Спасибо брат очень помог!
ты лучший!!!!!
Хороший гайд. Спасибо. Было бы интересно посмотреть работу связки PostgreSQL & asyncpg в боте
Спасибо, я вас услышал)!
Впервые вижу такой канал. Автор готов помочь в комментариях к видео годовалой давности!
Жду номер карты)
Все получилось, супер, спасибо!
PS.
Мало того что показал как это делает, так еще и внес понимания во все действия. Просто огромное спасибо!
Всегда рад помочь!
Спасибо надо попробать
Подскажите, если у меня уже один бот залит на сервер, и я хочу другого добавить, как мне сделать? Надо новый сервер покупать или можно на этот же + в консоле указать новый путь к файлу запуска? во втором случае первый файл не прекратит работу?
Все можно на одном держать, просто у каждого проекта своя директория, все будет хорошо работать
не подскажешь с чем может быть связан сброс значений uptime в консоле. у меня процессы почему-то заново начинаются спустя промежуток времени. Если бы сбои в хостинге - это норм, а то у меня процессы обновляются очень уж часто
речь о процессах в pm2? никогда с таким не сталкивался
БРАТ ПОЖАЛУЙСТА ДОДЕЛАЙ КУРС
все оч круто, спасибо тебе
столкнулся с множеством проблем, а оказалось версия убунту не соответствовала для работы с нужными зависимостями
бот запустился, однако если добавить токен в переменную окружения, то перестаёт работать(
Не должно быть так… что-то не так сделал, или версия какого-та модуля не та
@@bugsandfeatures буду ковыряться дальше
ура, с вашей помощью я наконец запустил бота!
вот только вопрос, если делать другого бота, на этом жн сервере можно разместить?
а если необходимо удалить старого бота с сервера как это сделать?
На сервере держать можно сколько угодно ботов, главное следить чтоб сервер не перегружался, запускать их так же как и первого
Чтобы удалить
pm2 delete имя_процесса
@@bugsandfeaturesа можно ли держать тг бота, сайт на реакте и бэкенд к нему на flask?
Спасибо огромное! А как удалять с сервера ненужные директории? просто кликая правой кнопкой?
Да, либо в консоли с помощью команды rmdir
Спасибо большое! У меня вопрос возник, если я в .env храню апи ключи и данные что делать с ними? Их же нельзя грузить на сервер.
Почему .env нельзя грузить на сервер? В них и надо хранить все скрытые данные
Сделал все как на видео ошибок не было но бот не работает, что нужно написать в коде чтобы он работал с хостом вроде что-то вконце пишут перед if __name__ == '__main__': ??
Если не работает, значит сделал не совсем как в видео, ничего дописывать не надо.
А если я допустим хочу обновить бота, добавить дополнительные функции, как это сделать??
Заменить файлы на сервере на новые, прописать
pm2 restart “название_процесса”
Если у меня тг бот в активную пользуется бд, как я понимаю мне нужно и для баз данных отдельно докупать сервер?
Да, это в целом правильная практика
Спасибо за ролик, все круто и понятно! Бот запустился и заработал, но спустя какое-то время начал выдавать такую ошибку: "Произошла ошибка: JSON Query to graphql/query: HTTP error code 401." Подскажите пожалуйста, в чем может быть проблема? Пробывал перезапускать, но все так же! Тот же код спокойно запускается через терминал PyCharm.
Цифра 4 в ошибке говорит о твоей ошибки при обращении к серверу, тут нужно глубже разбираться, попробуй ошибку загуглить или кинуть gpt, либо можешь мне лично написать в тг)
Можно сделать автоматический рестарт в случае ошибки?
Бот не отключается после ошибки, только если ошибка критическая, так что в таком рестарте смысла нет
подскажите пожалуйста, если у меня бот использует postgres базу данных на моем компе, мне надо ее тоже на сервак загружать, и как это сделать?
В интернете есть инструкции, но вообще скоро видео будет об этом
После перезапуска сервера будет процесс запускаться снова ?
по умолчанию нет, но это можно настроить, нужно просто добавить определенный скрипт в список скриптов, запускающихся по умолчанию, на хабре можно найти поробную интсрукцию
бота поставил, только по ssh не смог подключится, но это ничего
спасибо за ролик
Почему не получилось подключится?
Привет. А можно ли на одном хостинге запустить, ну например 2 бота и более
Хоть сколько, главное смотреть чтоб ресурсов сервера хватало
@@bugsandfeatures а тогда какой командой в одном терминале можно запустить одновременно два Python файла
@@user-wd6nc8pw8n аналогичной
pm2 start путь_до_файла/имя_файла --interpreter=python3
желательно чтобы имена файлов отличались, чтобы ими можно было удобно управлять
Правильно ли я понимаю, что тут просто через пулл работает бот? Будет ли видос с хуками?
Будет, просто мало времени на ведение канала, но все, что существует по ботам будет на этом канале
@@bugsandfeatures Да. Очень бы хотелось увидеть. А так же видео про БД на сервере. Спасибо за Ваш труд!
Если я хочу запускать несколько ботов, то я могу просто кинуть файл одного и второго бота, чтобы после запустить их двумя командами как два процесса?
Конечно) процессов может быть сколько угодно, главное следить чтоб оперативной памяти хватало
@@bugsandfeatures Может странный вопрос, но для каждого бота отдельная папка должна быть?
@@marcpeterson3137 технически необязательно, но так легче ориентироваться по файлам (своего рода негласное правило), но если пишете для себя, то можете делать как угодно
@@bugsandfeatures Прям щас делаю, почему-то у меня появилось при каждом перезапуске появилось три main процесса и нужный мне остался один, щас перезагружаю сервер, но опять же крипово немного, абсолютно не знаю где и как, те же ssh ключи, я без них подключался, а щас он их просит, но будем разбираться
@@marcpeterson3137 что-то где-то лишнее делаешь, ибо действительно что-то криповое
товарищи, сервер это обязательное условие? ну то есть на первых парах невозможно так же запустить бота грубо говоря через pycharm не выключая комп? Заранее извиняюсь за глупый вопрос
У встроенных интерпретаторов стоит ограничение на память, так что не получится без хостинга
Бот проработает пару часов и отключится
@@bugsandfeatures pyinstaller решит обозначенную тобою проблему запуска бота на компьютере или я все таки не вижу картину целиком и в целом невозможно запустить телеграмм бота на компьютере чтобы он был доступен всем?
@@Puchmeow он будет доступен всем и вы правы, pyonstaller действительно может решить эту проблему, можете начать с этого)
Если у вас интернет хороший, то проблем не будет
Но по моим скромным расчетам дешевле купить сервер за 180 рублей, чем держать компьютер включенным целый месяц, если проблема в деньгах)
@@bugsandfeatures не то чтобы в деньгах. просто не вижу смысла в том, чтобы покупать сервер на время тестирования бота. Будет ли он кому то интересен его работоспособность и прочее
так же и исправлять ошибки меньше манипуляций
делал все по гайду, запустил, статус онлайн, но бот не функционирует что делать
Перепроверить еще раз, либо смотреть логи через
pm2 logs
Там будет написано
Если не написано, то лучше создать свои лог файлы
А писать код можно сразу на сайте или повторно скачивать?
Можно через вим или нано) но так естественно никто не делает, но скачивать ничего не надо, пишите на компе, потом закидываете обновление на сервер и перезапускаете проект
@@bugsandfeatures Понял, спасибо. Осталось найти денег для сервера😂
установил все, запускаю, пишет работает, проверяю через pm2 status сразу пишет erroed
Значит ошибка в коде, создайте логи и увидите что не работает
А как с вебхуком, сертификатом?
Нашли решение?)
везде выдает такую ошибку: unable to fetch some archives, maybe run apt-get update or try with --fix-missing. все делал точно по гайду
P.s. у кого тоже такая ошибка, привяжите публичный IP к вашему серверу, все заработает. Мне помогло
Что делать если у меня бот написан на c# ? Вообще нигде гайдов нету
Постараюсь помочь
а почему без виртуального окружения .)),?
Это для отдельного ролика
А нужен публичный айпи для хостинга бота?
обязательно, иначе у сервера не будет доступа в интернет
Ничего не работает:( в статусе выдаёт ошибку
Где-то допускаешь ошибку в процессе
7:26 ошибка в статусе:
Сбой аутентификации.
Критическая ошибка: Невозможно подключиться к серверу
Изменино:
Уже исправил, у кого такая фигня, в ответах написал ищ-за чего может быть
получилось исправить?
@@trufakin Уже давно исправил. Люди у которых тоже самое, вы когда в FillaZilla пароль от сервера вводите, пишите пароль от рут, который на почту пришел, когда в самой консоли на сайте ввели логин рут пользователя.
@@МУСОР_ТВ спасибо больше, получилось))
Как исправить?
@@respecktpro2954 мой коммент смотрите выше, мне это помогло
Запустил бота, но что-то он совсем печально работает на таком же сервере как в видео. На локалке всё норм.
безумные задержки
@@thisergey обратитесь в службу поддержки, вам скажут в чем причина, ибо у меня все боты работают прекрасно
@@bugsandfeatures возможно дело в моих кривых руках, что-то возможно не так сделал. Хотя на сервисе типа хероку работал без проблем
@@thisergey такая же тема, даже сменил конфигурацию на 1 больше, но не помогло, хз я правда поставил Ubuntu 22, возможно дело в ней, попробую сегодня Ubuntu 20
@@Martoy я разобрался в чём проблема, нужно ставить виртаульное окружение чтобы aiogram нормально работал, и в нём запускать скрипт
5:52 вроде бы нельзя системный питон трогать вообще
Да можно, если знать что делать
Заливаю на другой хост. При команде npm install pm2 -g выходит ошибка. Что делать?
А какая ошибка?
@@bugsandfeaturesа, я думаю проблема в самом хостинге, пишет что возможно недостаточно прав.
@@Mr-eh3ne а sudo перед командой пишите?