Какой хостинг и тариф лучше выбрать для Телеграм-бота, его настройка
Каждый начинающий разработчик должен попробовать создать чат-бота. Это полезная практика, которая помогает освоить принципы взаимодействия с API. Процесс создания бота можно поделить на два этапа – написания кода проекта и публикация на удаленном хостинге. Не стоит пренебрегать последним шагом, ведь выбор некачественного хостинга может привести к полной неработоспособности вашего проекта. Расскажем, какой выбрать подходящий хостинг для Телеграм-бота.
СОДЕРЖАНИЕ СТАТЬИ:
Как выбрать хостинг
Предполагаем, что хотя бы поверхностное представление о предназначении хостингов у наших читателей есть. Однако для полноты материала проведем небольшой ликбез по этому вопросу. Хостинг – это удаленный компьютер, который работает 24 часа в сутки (в идеале) и имеет бесперебойный доступ в интернет. Стоит отметить, что Телеграм-боты можно запускать и на компьютерах пользователей.
Однако у такого подхода много недостатков:
- компьютер рано или поздно придется выключить;
- мощностей и пропускной способности сети не хватит для ботов, которыми пользуются несколько десятков человек;
- компьютеры с ОС Windows иногда автоматически блокируют работу бота, считая его «неиспользуемым приложением».
Таких изъянов нет у хостингов. Но даже те различаются между собой по нескольким параметрам и критериям. Для выбора подходящего удаленного хостинга рекомендуем следовать критериям ниже:
- Цена. В этом плане поставщики значительно отличаются друг от друга. Например, три разных хостера (поставщик услуг) могут требовать разные цены за одну и ту же услугу.
- Тарифы и их количество. В зависимости от предназначения бота и его загруженности необходимо использовать разные тарифные планы. От них зависит количество выделяемой памяти, пропускная способность сети и прочие технические характеристики. Если ботом будут пользоваться 10 человек, то нет смысла покупать для него продвинутые тарифы. И, наоборот – для популярных ботов нельзя использовать слабые тарифные планы, в которых выделяется от силы 64 мегабайта памяти и скорость в 10 мбит/секунду.
- Поддержка необходимых технологий. Скрипт на Python точно не запустится на сервере, где нет интерпретатора. Список доступных технологий указывается на официальных страницах провайдеров.
- Репутация. Может хостинг и обещает дешевые тарифы с заманчивыми условиями, он может попросту не выполнять свои обязательства. Бывали случаи, когда провайдеры предоставляли одни услуги, а описывали совсем другие. Их быстро выводили на чистую воду гневные пользователи, которые писали отрицательные отзывы на разных сайтах.
- Безопасность. На правильно настроенных серверах все проекты работают отдельно друг от друга, а потому
Есть и другие критерии, например, юридические тонкости и инструменты управления удаленным сервером. Однако не стоит на них зацикливаться, особенно если речь идет о первых ботах, которые не будут использоваться в производственных целях. На основе этих критериев автор составил список наиболее оптимальных для Telegram-ботов хостингов:
- Timeweb;
- Beget;
- Reg ru.
Какой тариф использовать
Как мы уже говорили, в плане выбора тарифа надо быть осторожным и всегда искать золотую середину. Тарифы делятся между собой по следующим характеристикам:
- Количество ядер. Этот параметр отвечает за многозадачность, лучше использовать не меньше 2 CPU.
- Количество оперативной памяти. Еще один параметр, отвечающий за многозадачность. Чаще всего даже дешевые тарифы предоставляют 1 ГБ ОЗУ. Этого вполне достаточно для работы бота с низким уровнем активности (то есть тем, которым почти никто не пользуется).
- Количество внутренней памяти, также известный как NVMe. Тут все просто – если бот хранит какие-то большие файлы, то лучше брать тариф с большим количеством NVMe. Если бот вообще ничего не хранит кроме логов и данных пользователей, то можно выбирать тариф с наименьшим количеством внутренней памяти.
- Пропускная способность. От этого параметра зависит то, как быстро ваш проект получит запрос, а также, сколько времени понадобится на отправку ответа.
Стоит отметить, что некоторые хостинг-провайдеры позволяют пользователям самостоятельно настроить характеристики.
Настройка хостинга
Одного выбора площадки для размещения бота недостаточно, нужно уметь правильно настраивать ее во избежание потерь производительности, а также для поддержания работоспособности проекта. Большинство хостингов поддерживают только консольную настройку через SSH-подключение. Этого вполне достаточно для подготовки площадки к загрузке бота. Пошаговая инструкция:
- Оформите тариф на аренду VPS-сервера на любом удобном для вас хостинге.
- В личном кабинете найдите данные для входа по SSH.
- Скачайте на компьютер любую программу для подключения по SSH, например, PuTTY. Можно использовать и встроенную в Windows утилиту, однако с ней не всегда удобно работать из-за невозможности сохранять параметры подключения.
- Подключитесь к удаленному серверу через SSH. Для этого введите необходимые данные в соответствующие поля.
- После открытия подключения в командной строке введите следующую команду: «sudo apt —reinstall install python3 -y».
- Дождитесь ее завершения, а после введите «sudo apt —reinstall install python3-pip -y». Эти две команды используются для обновления интерпретатора и менеджера пакетов.
- Загрузите все зависимости (библиотеки, которые нужны для работы проекта).
- Также рекомендуем установить менеджер пакетов. Для этого поочередно включите следующие команды:
sudo apt install nodejs
sudo apt install npm
npm install pm2 -g
На этом процесс настройки сервера завершен.
Загрузка бота на сервер
Сервер готов, проект тоже, теперь осталось соединить их вместе. Сделать это гораздо проще, чем кажется. Обычно провайдеры предоставляют два способа для загрузки файлов – через встроенный в админ-панель файловый менеджер и через FTP-сервер. В случае с ботом мы рекомендуем использовать встроенный менеджер, ведь он намного быстрее справится с небольшими файлами.
Алгоритм действий:
- Откройте папку с проектом.
- Откройте файловый менеджер в админ-панели на сайте хостинг-провайдера.
- Создайте через «админку» новую папку.
- Загрузите в нее файлы проекта. Например, timeweb поддерживает функцию drug and drop. Это значит, что пользователю достаточно перетащить файлы проекта в окно браузера, все остальное сделает сайт.
Запуск
Последний шаг – это запуск бота. Для того чтобы выполнить его, достаточно ввести только две команды:
- cd *название созданной папки*.
- pm2 start main.py --interpreter=python3. Вместо main укажите название исполняемого файла.