Bezplatný hosting telegramových botů na platformě Google Cloud Platform

Proč GCP?

Při psaní telegramů pro roboty jsem narazil na otázku, jak rychle a zdarma zajistit, aby bot neustále fungoval. Možnosti Heroku a Pythonanywhere jsou příliš nízké, pokud máte více než jednoho robota. Rozhodl jsem se tedy použít GCP. Platforma poskytuje 300 $ zdarma na rok + obrovské slevy při použití těchto prostředků (až 94 %).

Bezplatný hosting telegramových botů na platformě Google Cloud Platform

Jak hostit svého robota?

Krok 1: Zaregistrujte se do GCP

Jděte na webové stránky GCP a tlačit Začněte zdarma.
Bezplatný hosting telegramových botů na platformě Google Cloud Platform
Zadejte své údaje a kartu. Peníze z karty nebudou strženy, pokud si placené předplatné sami neaktivujete.

Bezplatný hosting telegramových botů na platformě Google Cloud Platform

Krok 2. Vytvořte virtuální stroj

Po registraci se ocitnete na hlavní stránce služby. Musíte vybrat kartu Compute Engine v sekci Resources.
Bezplatný hosting telegramových botů na platformě Google Cloud Platform
Musíte vytvořit novou instanci.

Bezplatný hosting telegramových botů na platformě Google Cloud Platform
Pokud se nechystáte nasadit databázi na virtuální stroj, pak si můžete vzít g1-small, jinak doporučuji n1-standard.

Bezplatný hosting telegramových botů na platformě Google Cloud Platform
Budete také muset vybrat OS. Vybral jsem si Debian GNU/Linux 9 (stretch).

Bezplatný hosting telegramových botů na platformě Google Cloud Platform
To je vše, virtuální počítač je vytvořen. Jeho obvyklé nasazení trvá od 1 do 5 minut.

Krok 3: Nastavte virtuální počítač

Můžete se připojit přes SSH z vašeho PC nebo komunikovat prostřednictvím platformy.
Chcete-li to provést, klikněte na SSH.

Bezplatný hosting telegramových botů na platformě Google Cloud Platform
Tím se otevře linuxový terminál v novém okně.

Bezplatný hosting telegramových botů na platformě Google Cloud Platform
Nyní přejdeme k nastavení. Nejprve zadejte příkaz:

sudo apt-get update

k aktualizaci informací o nejnovějších verzích balíčků.

Poté, co vstoupíme:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip

Samotný Python není třeba instalovat, už tam je.

Nyní musíte nainstalovat všechny potřebné knihovny. Existuje malá nuance, všechny knihovny musí být nainstalovány dvakrát:

pip3 install ‘name_of_package’

pro použití prostřednictvím příkazu python3 a

sudo pip3 install ‘name_of_package’

pro systemd. Tento nástroj vám pomůže spustit robota a restartovat jej, pokud dojde k jeho zhroucení.
Nejjednodušší způsob, jak spustit robota, je přes python3, ale pokud se odpojíte, vypne se. Můžete použít obrazovku, ale robot se sám nerestartuje. Můžete také použít crontab s kontrolou portu, ale myslím, že tato možnost je složitější než systemd.

Krok 4. Nahrajte robota na server

Existují dva způsoby, jak nahrát robota. Pokud nejste Git friendly, můžete bota jednoduše zazipovat do .tar a nahrát jej na server:

Bezplatný hosting telegramových botů na platformě Google Cloud Platform
Poté jej rozbalte příkazem:

tar -xvf yourfile.tar

Nyní je váš robot uložen ve složce s názvem archivu.

Druhý způsob je přes Git. Myslím, že nemá cenu vysvětlovat lidem, kteří to umí, jak to udělat.

Po instalaci pomocí příkazu:

sudo apt install git

Můžete jej naklonovat do svého VM.

Poté přejdeme k nastavení systemd. Chcete-li to provést, přejděte do jeho adresáře:

cd /etc/systemd/system

A vytvořte soubor bot.service:

sudo nano bot.service

V okně, které se otevře, zadejte následující:


[Unit]
Description=Telegram bot 'Имя бота'
After=syslog.target
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/home/название вашего юзера/название папки в которой лежит бот
ExecStart=/usr/bin/python3 /home/название вашего юзера/название папки в которой лежит бот/bot.py

RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Zavřete a uložte soubor. Zavřeno pomocí Ctrl+X.

Poté postupně zadávejte příkazy:

sudo systemctl daemon-reload
sudo systemctl enable bot
sudo systemctl start bot
sudo systemctl status bot

Pokud vše půjde dobře, uvidíte něco takového:

Bezplatný hosting telegramových botů na platformě Google Cloud Platform
Všechno, váš robot nyní funguje nezávisle. Doufám, že vám můj článek pomůže hostit vašeho robota.

PS

1. Zkontrolujte, zda váš robot neobsahuje chyby

Spusťte robota a otestujte jej, než jej spustíte přes systemd. Chcete-li to provést, přejděte do složky s robotem a spusťte python.

cd <папка вашего бота>
python3 bot.py

2. Přidejte kódování do souborů pomocí py skriptů

#!/usr/bin/env python
# -*- coding: utf-8 -*-

Vložte na začátek souboru.

3. Chyby v systemd

Pokud jste zkontrolovali chyby robota a fungovalo to dobře, ale nechce se spustit v systemd, můžete se podívat na protokoly a zjistit, co je chyba, zobrazením souboru:

sudo nano /var/log/syslog

Tento soubor si můžete stáhnout a zobrazit na svém počítači pomocí programu Notepad++.

4. Aktualizace robota

Pokud chcete přidat nebo nahrát novou verzi robota, zadejte příkaz:

sudo systemctl stop bot

Podívejte se na všechny potřebné manipulace. A pak zadejte následující příkazy, aby to znovu fungovalo:

sudo systemctl daemon-reload
sudo systemctl start bot
sudo systemctl status bot

Zdroj: www.habr.com

Přidat komentář