Ingyenes Telegram-bot hosztolás a Google Cloud Platformon

Miért GCP?

A Telegram-bot írása során felmerült a kérdés, hogyan lehet gyorsan és ingyenesen biztosítani, hogy a bot folyamatosan működjön. A Heroku és a Pythonanywhere lehetőségek túl kicsi limitekkel rendelkeznek, ha több mint egy botos van. Ezért úgy döntöttem, hogy a GCP-t használom. A platform ingyen 300 $-t biztosít egy évre + óriási kedvezményekkel a források felhasználása esetén (akár 94%-ig).

Ingyenes Telegram-bot hosztolás a Google Cloud Platformon

Hogyan hosztold a botodat?

1. lépés. Regisztráció a GCP-n

Lépjünk a weboldalra GCP mellett, majd kattintsunk Kezdj el ingyen.
Ingyenes Telegram-bot hosztolás a Google Cloud Platformon
Adja meg adatait és a kártyát. A pénz nem kerül levonásra a kártyáról, amíg nem aktiválja a fizetős előfizetést.

Ingyenes Telegram-bot hosztolás a Google Cloud Platformon

2. lépés. Virtuális gép létrehozása

A regisztráció után a szolgáltatás főoldalán találja magát. Ki kell választania a Compute Engine lapot az Erőforrások részben.
Ingyenes Telegram-bot hosztolás a Google Cloud Platformon
Új példányt kell létrehozni.

Ingyenes Telegram-bot hosztolás a Google Cloud Platformon
Ha nem kíván adatbázist telepíteni a virtuális gépben, akkor a g1-small-t választhatja, különben ajánlom az n1-standard-t.

Ingyenes Telegram-bot hosztolás a Google Cloud Platformon
Ki kell választania az operációs rendszert is. Én a Debian GNU/Linux 9 (stretch) verziót választottam.

Ingyenes Telegram-bot hosztolás a Google Cloud Platformon
Kész, a VM létrejött. A normál telepítési idő 1-5 perc között változik.

3. lépés. A virtuális gép konfigurálása

SSH-n keresztül csatlakozhat a PC-jéről, vagy interakcióba léphet a platformon.
Ehhez kattintson az SSH-ra.

Ingyenes Telegram-bot hosztolás a Google Cloud Platformon
Egy Linux terminál nyílik meg egy új ablakban.

Ingyenes Telegram-bot hosztolás a Google Cloud Platformon
Most áttérünk a konfigurálásra. Először írja be a parancsot:

sudo apt-get update

a legújabb csomagverziók frissítéséhez.

Ezután írja be:

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

A Python telepítése nem szükséges, már megtalálható.

Most minden szükséges könyvtárat telepíteni kell. Van egy kis árnyoldal, a könyvtárakat kétszer kell telepíteni:

pip3 install ‘name_of_package’

a python3 parancs használatához, és

sudo pip3 install ‘name_of_package’

a systemd-hez. Ez az eszköz segít a bot elindításában és újraindításában, ha leáll.
A legegyszerűbb módja a bot indításának python3-on, de akkor leáll, ha Ön is kikapcsolódik. Használhatja a screent, de a bot nem fog automatikusan újraindulni. Használhat cron-t portellenőrzéssel is, de ez a megoldás bonyolultabb, mint a systemd.

4. lépés. Bot feltöltése a szerverre

Két módon töltheti fel a botját. Ha nem ismeri a Git-et, egyszerűen archiválhatja a botot .tar formátumban, és feltöltheti a szerverre:

Ingyenes Telegram-bot hosztolás a Google Cloud Platformon
Ezután a következő paranccsal ki kell csomagolnia:

tar -xvf yourfile.tar

Most a botja az archívum nevével ellátott mappában található.

A Git-en keresztüli második módszer. Nem hiszem, hogy szükséges elmagyarázni, hogyan kell ezt megtenni azoknak, akik tudják használni.

A telepítés után a következő parancsot kell futtatni:

sudo apt install git

Klónold le a szerveredre.

Ezután térjünk át a systemd beállítására. Ehhez navigálj a következő könyvtárba:

cd /etc/systemd/system

És hozz létre egy bot.service fájlt:

sudo nano bot.service

Írd be az alábbiakat az megnyíló ablakba:


[Unit]
Description=Telegram bot 'A bot neve'
After=syslog.target
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/home/a felhasználód neve/a bot könyvtárának neve
ExecStart=/usr/bin/python3 /home/a felhasználód neve/a bot könyvtárának neve/bot.py

RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Zárd be és mentse a fájlt. A Ctrl+X billentyűkombinációval lehet bezárni.

Ezután futtasd a parancsokat egyenként:

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

Ha minden jól megy, körülbelül ezt fogod látni:

Ingyenes Telegram-bot hosztolás a Google Cloud Platformon
Kész, most a botod önállóan működik. Remélem, hogy a cikkem segít neked a botod hosztolásában.

P.S.

1. Ellenőrizd a botodat hibák után

Futtasd a botodat, és ellenőrizd a működését, mielőtt elindítanád a systemd-n keresztül. Ehhez lépj be a bot könyvtárába és indítsd el Python-nal.

cd 
python3 bot.py

2. Add meg a fájlokban a py-scriptek kódolását

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

Illeszd be a fájl elejére.

3. Hibák a systemd-ben

Ha ellenőrizted a botodat hibák után és az normálisan működött, de nem akar elindulni a systemd-n keresztül, akkor megnézheted a naplókat, és megértheted, mi a hiba, ha megnyitod a fájlt:

sudo nano /var/log/syslog

Letöltheted ezt a fájlt, és megnyithatod a számítógépeden a Notepad++-on.

4. A bot frissítése

Ha szeretnél kiegészíteni vagy feltölteni egy új verziót a botból, írd be a következő parancsot:

sudo systemctl stop bot

Végezd el a szükséges műveleteket, majd add ki az alábbi parancsokat, hogy újra működjön:

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

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster