РАЗМЕЩАЕМ БОТА НА СЕРВЕРЕ | Телеграм боты ч. 5
В очередной части курса мы разместим бота на сервере. Я покажу полный процесс от создания 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
Пікірлер: 113
мужик, твой гайд просто лучший из лучших, спасибо огромнейшее
Спасибо!! Недавно наткнулась на ваш канал, полезно. Как же круто, что нет воды, чёткая понятная речь и передана суть)) Вы офигенны
@bugsandfeatures
Жыл бұрын
Спасибо за отзыв)
Огромное спасибо! Отличное и очень подробное объяснение!
Спасибо, всё получилось!)
Спасибо, ты многим помог)))
Спасибо! То что нужно было
Автор у Вас отлично получается доносить информацию до слушателей. И голос поставлен хорошо. Жалко что редкие выпуски видео
Невероятно рад твоему возвращению! Очень ждем твое видео с разработкой бота, а именно части где в БД загружается дата об клиенте после оплаты (ФИО, телефон , адрес доставки).
@bugsandfeatures
Жыл бұрын
Будет😅 я все помню
Вообще лучший, респект
Автор, тебе надо пожать руку. Такой хостинг искал, который более-менее адекватный по деньгам. Брал хостинг на Селектел, вот там кошель плачет. А когда бд туда приручиваешь, адский рёв - спасибо)
Огромное спасибище! Разместил и запустил бота прям по инструкции!
@vitalik3447
Ай бұрын
@user-wy2kv9vc2p Да, боты все время работают. Но бывает перезапуск из-за проблем на самом хостинге.
Все работает, имба видео!
автор, ты лучший! столько облазил интернета, во всех видео проскакивают куски и ни фига не понятно, в твоем видео все доступным языком , хоть это первая моя работа с сервером.
Спасибо за это видео! Написал свой нубовский скрипт, а в плане диплоя ни в зуб ногой, как говорится😆 сделал все как в видео, но без менеджера процессов, через nohup. Потом замучился потоки останавливать. Установил pm2 и стало всё хорошо)
Спасибо брат очень помог!
Спасибо огромное !
ты лучший!!!!!
Впервые вижу такой канал. Автор готов помочь в комментариях к видео годовалой давности! Жду номер карты) Все получилось, супер, спасибо! PS. Мало того что показал как это делает, так еще и внес понимания во все действия. Просто огромное спасибо!
@bugsandfeatures
Ай бұрын
Всегда рад помочь!
Хороший гайд. Спасибо. Было бы интересно посмотреть работу связки PostgreSQL & asyncpg в боте
@bugsandfeatures
Жыл бұрын
Спасибо, я вас услышал)!
Спасибо надо попробать
не подскажешь с чем может быть связан сброс значений uptime в консоле. у меня процессы почему-то заново начинаются спустя промежуток времени. Если бы сбои в хостинге - это норм, а то у меня процессы обновляются очень уж часто
@bugsandfeatures
9 ай бұрын
речь о процессах в pm2? никогда с таким не сталкивался
Спасибо большое! У меня вопрос возник, если я в .env храню апи ключи и данные что делать с ними? Их же нельзя грузить на сервер.
@bugsandfeatures
15 күн бұрын
Почему .env нельзя грузить на сервер? В них и надо хранить все скрытые данные
Подскажите, если у меня уже один бот залит на сервер, и я хочу другого добавить, как мне сделать? Надо новый сервер покупать или можно на этот же + в консоле указать новый путь к файлу запуска? во втором случае первый файл не прекратит работу?
@bugsandfeatures
Жыл бұрын
Все можно на одном держать, просто у каждого проекта своя директория, все будет хорошо работать
все оч круто, спасибо тебе столкнулся с множеством проблем, а оказалось версия убунту не соответствовала для работы с нужными зависимостями бот запустился, однако если добавить токен в переменную окружения, то перестаёт работать(
@bugsandfeatures
Жыл бұрын
Не должно быть так… что-то не так сделал, или версия какого-та модуля не та
@exquisitecorpse666
Жыл бұрын
@@bugsandfeatures буду ковыряться дальше
Спасибо огромное! А как удалять с сервера ненужные директории? просто кликая правой кнопкой?
@bugsandfeatures
2 ай бұрын
Да, либо в консоли с помощью команды rmdir
Сделал все как на видео ошибок не было но бот не работает, что нужно написать в коде чтобы он работал с хостом вроде что-то вконце пишут перед if __name__ == '__main__': ??
@bugsandfeatures
Жыл бұрын
Если не работает, значит сделал не совсем как в видео, ничего дописывать не надо.
ура, с вашей помощью я наконец запустил бота! вот только вопрос, если делать другого бота, на этом жн сервере можно разместить? а если необходимо удалить старого бота с сервера как это сделать?
@bugsandfeatures
10 ай бұрын
На сервере держать можно сколько угодно ботов, главное следить чтоб сервер не перегружался, запускать их так же как и первого Чтобы удалить pm2 delete имя_процесса
@kryptodog1066
5 ай бұрын
@@bugsandfeaturesа можно ли держать тг бота, сайт на реакте и бэкенд к нему на flask?
подскажите пожалуйста, если у меня бот использует postgres базу данных на моем компе, мне надо ее тоже на сервак загружать, и как это сделать?
@bugsandfeatures
Ай бұрын
В интернете есть инструкции, но вообще скоро видео будет об этом
Привет. А можно ли на одном хостинге запустить, ну например 2 бота и более
@bugsandfeatures
12 күн бұрын
Хоть сколько, главное смотреть чтоб ресурсов сервера хватало
@user-wd6nc8pw8n
8 күн бұрын
@@bugsandfeatures а тогда какой командой в одном терминале можно запустить одновременно два Python файла
@bugsandfeatures
8 күн бұрын
@@user-wd6nc8pw8n аналогичной pm2 start путь_до_файла/имя_файла --interpreter=python3 желательно чтобы имена файлов отличались, чтобы ими можно было удобно управлять
БРАТ ПОЖАЛУЙСТА ДОДЕЛАЙ КУРС
А если я допустим хочу обновить бота, добавить дополнительные функции, как это сделать??
@bugsandfeatures
11 ай бұрын
Заменить файлы на сервере на новые, прописать pm2 restart “название_процесса”
бота поставил, только по ssh не смог подключится, но это ничего спасибо за ролик
@bugsandfeatures
7 ай бұрын
Почему не получилось подключится?
Если у меня тг бот в активную пользуется бд, как я понимаю мне нужно и для баз данных отдельно докупать сервер?
@bugsandfeatures
Ай бұрын
Да, это в целом правильная практика
Спасибо за ролик, все круто и понятно! Бот запустился и заработал, но спустя какое-то время начал выдавать такую ошибку: "Произошла ошибка: JSON Query to graphql/query: HTTP error code 401." Подскажите пожалуйста, в чем может быть проблема? Пробывал перезапускать, но все так же! Тот же код спокойно запускается через терминал PyCharm.
@bugsandfeatures
4 ай бұрын
Цифра 4 в ошибке говорит о твоей ошибки при обращении к серверу, тут нужно глубже разбираться, попробуй ошибку загуглить или кинуть gpt, либо можешь мне лично написать в тг)
Можно сделать автоматический рестарт в случае ошибки?
@bugsandfeatures
5 ай бұрын
Бот не отключается после ошибки, только если ошибка критическая, так что в таком рестарте смысла нет
товарищи, сервер это обязательное условие? ну то есть на первых парах невозможно так же запустить бота грубо говоря через pycharm не выключая комп? Заранее извиняюсь за глупый вопрос
@bugsandfeatures
Жыл бұрын
У встроенных интерпретаторов стоит ограничение на память, так что не получится без хостинга Бот проработает пару часов и отключится
@Puchmeow
Жыл бұрын
@@bugsandfeatures pyinstaller решит обозначенную тобою проблему запуска бота на компьютере или я все таки не вижу картину целиком и в целом невозможно запустить телеграмм бота на компьютере чтобы он был доступен всем?
@bugsandfeatures
Жыл бұрын
@@Puchmeow он будет доступен всем и вы правы, pyonstaller действительно может решить эту проблему, можете начать с этого) Если у вас интернет хороший, то проблем не будет Но по моим скромным расчетам дешевле купить сервер за 180 рублей, чем держать компьютер включенным целый месяц, если проблема в деньгах)
@Puchmeow
Жыл бұрын
@@bugsandfeatures не то чтобы в деньгах. просто не вижу смысла в том, чтобы покупать сервер на время тестирования бота. Будет ли он кому то интересен его работоспособность и прочее
@Puchmeow
Жыл бұрын
так же и исправлять ошибки меньше манипуляций
Если я хочу запускать несколько ботов, то я могу просто кинуть файл одного и второго бота, чтобы после запустить их двумя командами как два процесса?
@bugsandfeatures
Жыл бұрын
Конечно) процессов может быть сколько угодно, главное следить чтоб оперативной памяти хватало
@marcpeterson3137
Жыл бұрын
@@bugsandfeatures Может странный вопрос, но для каждого бота отдельная папка должна быть?
@bugsandfeatures
Жыл бұрын
@@marcpeterson3137 технически необязательно, но так легче ориентироваться по файлам (своего рода негласное правило), но если пишете для себя, то можете делать как угодно
@marcpeterson3137
Жыл бұрын
@@bugsandfeatures Прям щас делаю, почему-то у меня появилось при каждом перезапуске появилось три main процесса и нужный мне остался один, щас перезагружаю сервер, но опять же крипово немного, абсолютно не знаю где и как, те же ssh ключи, я без них подключался, а щас он их просит, но будем разбираться
@bugsandfeatures
Жыл бұрын
@@marcpeterson3137 что-то где-то лишнее делаешь, ибо действительно что-то криповое
7:26 ошибка в статусе: Сбой аутентификации. Критическая ошибка: Невозможно подключиться к серверу Изменино: Уже исправил, у кого такая фигня, в ответах написал ищ-за чего может быть
@trufakin
Жыл бұрын
получилось исправить?
@МУСОР_ТВ
Жыл бұрын
@@trufakin Уже давно исправил. Люди у которых тоже самое, вы когда в FillaZilla пароль от сервера вводите, пишите пароль от рут, который на почту пришел, когда в самой консоли на сайте ввели логин рут пользователя.
@trufakin
Жыл бұрын
@@МУСОР_ТВ спасибо больше, получилось))
@respecktpro2954
11 ай бұрын
Как исправить?
@МУСОР_ТВ
11 ай бұрын
@@respecktpro2954 мой коммент смотрите выше, мне это помогло
А писать код можно сразу на сайте или повторно скачивать?
@bugsandfeatures
5 ай бұрын
Можно через вим или нано) но так естественно никто не делает, но скачивать ничего не надо, пишите на компе, потом закидываете обновление на сервер и перезапускаете проект
@univprod_empire
5 ай бұрын
@@bugsandfeatures Понял, спасибо. Осталось найти денег для сервера😂
Правильно ли я понимаю, что тут просто через пулл работает бот? Будет ли видос с хуками?
@bugsandfeatures
Жыл бұрын
Будет, просто мало времени на ведение канала, но все, что существует по ботам будет на этом канале
@kino_chill
Жыл бұрын
@@bugsandfeatures Да. Очень бы хотелось увидеть. А так же видео про БД на сервере. Спасибо за Ваш труд!
делал все по гайду, запустил, статус онлайн, но бот не функционирует что делать
@bugsandfeatures
4 ай бұрын
Перепроверить еще раз, либо смотреть логи через pm2 logs Там будет написано Если не написано, то лучше создать свои лог файлы
После перезапуска сервера будет процесс запускаться снова ?
@bugsandfeatures
11 ай бұрын
по умолчанию нет, но это можно настроить, нужно просто добавить определенный скрипт в список скриптов, запускающихся по умолчанию, на хабре можно найти поробную интсрукцию
установил все, запускаю, пишет работает, проверяю через pm2 status сразу пишет erroed
@bugsandfeatures
5 ай бұрын
Значит ошибка в коде, создайте логи и увидите что не работает
Что делать если у меня бот написан на c# ? Вообще нигде гайдов нету
@bugsandfeatures
2 ай бұрын
Постараюсь помочь
А как с вебхуком, сертификатом?
@user-hz9iv3gw3l
6 ай бұрын
Нашли решение?)
Ничего не работает:( в статусе выдаёт ошибку
@bugsandfeatures
Жыл бұрын
Где-то допускаешь ошибку в процессе
а почему без виртуального окружения .)),?
@bugsandfeatures
Жыл бұрын
Это для отдельного ролика
5:52 вроде бы нельзя системный питон трогать вообще
@bugsandfeatures
Ай бұрын
Да можно, если знать что делать
Запустил бота, но что-то он совсем печально работает на таком же сервере как в видео. На локалке всё норм.
@thisergey
Жыл бұрын
безумные задержки
@bugsandfeatures
Жыл бұрын
@@thisergey обратитесь в службу поддержки, вам скажут в чем причина, ибо у меня все боты работают прекрасно
@thisergey
Жыл бұрын
@@bugsandfeatures возможно дело в моих кривых руках, что-то возможно не так сделал. Хотя на сервисе типа хероку работал без проблем
@Martoy
Жыл бұрын
@@thisergey такая же тема, даже сменил конфигурацию на 1 больше, но не помогло, хз я правда поставил Ubuntu 22, возможно дело в ней, попробую сегодня Ubuntu 20
@thisergey
Жыл бұрын
@@Martoy я разобрался в чём проблема, нужно ставить виртаульное окружение чтобы aiogram нормально работал, и в нём запускать скрипт
Заливаю на другой хост. При команде npm install pm2 -g выходит ошибка. Что делать?
@bugsandfeatures
Ай бұрын
А какая ошибка?
@Mr-eh3ne
Ай бұрын
@@bugsandfeaturesа, я думаю проблема в самом хостинге, пишет что возможно недостаточно прав.
@bugsandfeatures
Ай бұрын
@@Mr-eh3ne а sudo перед командой пишите?