Allotjament gratuït de Bot de Telegram a Google Cloud Platform

Per què GCP?

Quan escrivia telegrames per a robots, em vaig trobar amb la pregunta de com fer que el bot funcioni de manera ràpida i gratuïta. Les opcions Heroku i Pythonanywhere són massa baixes si teniu més d'un bot. Així que vaig decidir utilitzar GCP. La plataforma ofereix 300 dòlars durant un any de manera gratuïta + grans descomptes quan s'utilitzen aquests fons (fins al 94%).

Allotjament gratuït de Bot de Telegram a Google Cloud Platform

Com allotjar el vostre bot?

Pas 1: registreu-vos a GCP

Anem al lloc GCP i feu clic Comenceu de forma gratuïta.
Allotjament gratuït de Bot de Telegram a Google Cloud Platform
Introdueix les teves dades i la teva targeta. Els diners de la targeta no es carregaran si no activeu vosaltres mateixos la subscripció de pagament.

Allotjament gratuït de Bot de Telegram a Google Cloud Platform

Pas 2. Creeu una màquina virtual

Després del registre, us trobareu a la pàgina principal del servei. Heu de seleccionar la pestanya Compute Engine a la secció Recursos.
Allotjament gratuït de Bot de Telegram a Google Cloud Platform
Heu de crear una instància nova.

Allotjament gratuït de Bot de Telegram a Google Cloud Platform
Si no teniu previst desplegar la base de dades a màquina virtual, aleshores pots agafar g1-small, si no, et recomano n1-estàndard.

Allotjament gratuït de Bot de Telegram a Google Cloud Platform
També haureu de seleccionar un sistema operatiu. Vaig triar Debian GNU/Linux 9 (estirament).

Allotjament gratuït de Bot de Telegram a Google Cloud Platform
Això és tot, es crea la VM. El seu desplegament habitual triga d'1 a 5 minuts.

Pas 3: configureu la màquina virtual

Podeu connectar-vos mitjançant SSH des del vostre ordinador o interactuar a través de la plataforma.
Per fer-ho, feu clic a SSH.

Allotjament gratuït de Bot de Telegram a Google Cloud Platform
Això obrirà un terminal Linux en una finestra nova.

Allotjament gratuït de Bot de Telegram a Google Cloud Platform
Ara passem a la configuració. Primer introduïu l'ordre:

sudo apt-get update

per actualitzar la informació sobre les últimes versions de paquets.

Després d'entrar:

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

Python en si no cal instal·lar-lo, ja hi és.

Ara cal instal·lar totes les biblioteques necessàries. Hi ha un petit matís, totes les biblioteques s'han d'instal·lar dues vegades:

pip3 install ‘name_of_package’

per utilitzar-lo mitjançant l'ordre python3 i

sudo pip3 install ‘name_of_package’

per a systemd. Aquesta utilitat us ajudarà a iniciar el bot i reiniciar-lo si es bloqueja.
La manera més senzilla d'executar el bot és mitjançant Python3, però s'apagarà si us desconnecteu. Podeu utilitzar la pantalla, però el bot no es reiniciarà. També podeu utilitzar crontab amb una comprovació de port, però crec que aquesta opció és més complicada que systemd.

Pas 4. Carregueu el bot al servidor

Hi ha dues maneres de pujar el vostre bot. Si no ets compatible amb Git, pots simplement comprimir el bot a .tar i pujar-lo al servidor:

Allotjament gratuït de Bot de Telegram a Google Cloud Platform
Després d'això, descomprimiu-lo amb l'ordre:

tar -xvf yourfile.tar

Ara el vostre bot s'emmagatzema en una carpeta amb el nom de l'arxiu.

La segona via és a través de Git. Crec que no val la pena explicar com fer-ho a la gent que ho sap fer servir.

Després d'instal·lar-lo amb l'ordre:

sudo apt install git

Podeu clonar-lo a la vostra VM.

Després d'això, passem a configurar systemd. Per fer-ho, aneu al seu directori:

cd /etc/systemd/system

I creeu un fitxer bot.service:

sudo nano bot.service

Introduïu el següent a la finestra que s'obre:


[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

Tanqueu i deseu el fitxer. Tancat amb Ctrl+X.

Després d'això, introduïu les ordres al seu torn:

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

Si tot va bé, veuràs alguna cosa com això:

Allotjament gratuït de Bot de Telegram a Google Cloud Platform
Tot, ara el teu bot funciona de manera independent. Espero que el meu article us ajudi a allotjar el vostre bot.

PS

1.Comproveu si hi ha errors al vostre bot

Inicieu el vostre bot i proveu-lo abans d'executar-lo mitjançant systemd. Per fer-ho, aneu a la carpeta amb el bot i executeu Python.

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

2. Afegiu codificació als fitxers amb scripts py

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

Insereix al principi del fitxer.

3. Errors en systemd

Si heu comprovat si hi ha errors al bot i ha funcionat bé, però no vol executar-se a systemd, podeu mirar els registres i entendre quin és l'error visualitzant el fitxer:

sudo nano /var/log/syslog

Podeu descarregar aquest fitxer i visualitzar-lo al vostre ordinador amb Notepad++.

4.Actualització del bot

Si voleu afegir o carregar una nova versió del bot, introduïu l'ordre:

sudo systemctl stop bot

Veure totes les manipulacions necessàries. A continuació, introduïu les ordres següents perquè torni a funcionar:

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

Font: www.habr.com

Afegeix comentari