Tasuta Telegrami boti hostimine Google Cloud Platformil

Miks GCP?

Kui ma kirjutasin Telegrami bote, tekkis mul küsimus, kuidas kiiresti ja tasuta tagada, et bot töötaks pidevalt. Heroku ja Pythonanywhere variandid on üsna madalate limiitidega, kui teil on rohkem kui üks bot. Seetõttu otsustasin kasutada GCP-d. Platvorm pakub tasuta 300 dollarit aastas + tohutud soodustused nende rahade kasutamisel (kuni 94%).

Tasuta Telegrami boti hostimine Google Cloud Platformil

Kuidas hostida oma boti?

Samm 1. Registreerimine GCP-s

Liigume veebilehele GCP ja vajutame Alustage tasuta.
Tasuta Telegrami boti hostimine Google Cloud Platformil
Sisestage oma andmed ja kaardirekviseer. Raha teie kaardilt ei arvestata, kui te ise ei aktiveeri tasulist tellimust.

Tasuta Telegrami boti hostimine Google Cloud Platformil

Samm 2. Looge virtuaalne masin

Pärast registreerimist jõuate teenuse avalehele. peate valima Ressursside jaotises Compute Engine vahekaart.
Tasuta Telegrami boti hostimine Google Cloud Platformil
On vajalik luua uus eksemplar.

Tasuta Telegrami boti hostimine Google Cloud Platformil
Kui te ei kavatse andmebaasi käitada virtuaalses masinas, siis võite valida g1-small, vastasel juhul soovitan n1-standard.

Tasuta Telegrami boti hostimine Google Cloud Platformil
On vajalik valida ka opsüsteem. Mina valisin Debian GNU/Linux 9 (stretch).

Tasuta Telegrami boti hostimine Google Cloud Platformil
Kõik, VM on loodud. Tavaline paigaldusaeg on 1 kuni 5 minutit.

Samm 3. Virtuaalse masina seadistamine

Saate ühendust luua SSH kaudu oma arvutist või suhelda platvormi kaudu.
Selleks klõpsake SSH-l.

Tasuta Telegrami boti hostimine Google Cloud Platformil
Teie ees avanevad Linuxi terminal uues aknas.

Tasuta Telegrami boti hostimine Google Cloud Platformil
Nüüd liigume seadistamise juurde. Esiteks sisestage käsk:

sudo apt-get update

pakettide uusimate versioonide teabe värskendamiseks.

Seejärel sisestage:

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

Pythonit installima ei pea, see on juba olemas.

Nüüd on vajalik installida kõik vajalikud raamatukogud. On üks väike nüanss, kõik raamatukogud tuleb installida kaks korda:

pip3 install ‘name_of_package’

python3 käskluse kaudu kasutamiseks, ja

sudo pip3 install ‘name_of_package’

systemd jaoks. See utiliit aitab teil boti käivitada ja selle uuesti käivitada, kui see kokku kukkub.
Lihtsaim viis boti käivitamiseks on python3 kaudu, kuid see peatub, kui te logite välja. Võite kasutada screeni, kuid bot ei käivitu uuesti iseseisvalt. Samuti võite kasutada crontabi koos pordi kontrollimisega, kuid mulle tundub, et see variant on keerulisem kui systemd.

Samm 4. Laadime boti serverisse

On kaks viisi, kuidas oma boti serverisse laadida. Kui te ei tunne Gitit, võite oma boti lihtsalt .tar formaadis arhiveerida ja serverisse laadida:

Tasuta Telegrami boti hostimine Google Cloud Platformil
Pärast seda dekompressime selle käsuga:

tar -xvf yourfile.tar

Nüüd asub teie bot arhivi nimega kaustas.

Teine meetod Git'i kaudu. Ei tasu selgitada, kuidas seda teha inimestele, kes oskavad seda kasutada.

Pärast installimist käivitage see käsuga:

sudo apt install git

Saate selle endale VM-i kloonida.

Pärast seda jätkame systemd seadistamisega. Selleks liikume selle kausta:

cd /etc/systemd/system

Ja loome faili bot.service:

sudo nano bot.service

Kopeerige avatud aknasse järgmine:


[Unit]
Description=Telegram bot 'Bot's Name'
After=syslog.target
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/home/teie kasutajanimi/kausta nimi, kus bot asub
ExecStart=/usr/bin/python3 /home/teie kasutajanimi/kausta nimi, kus bot asub/bot.py

RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Sulgege ja salvestage fail. Sulgemiseks kasutage käsku Ctrl+X.

Pärast seda sisestage käsud ükshaaval:

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

Kui kõik on hästi, näete umbkaudu järgmist:

Tasuta Telegrami boti hostimine Google Cloud Platformil
Kõik, nüüd töötab teie bot iseseisvalt. Loodan, et minu artikkel aitab teil oma boti hostida.

P.S.

1. Kontrollige oma boti vigu

Käivitage oma bot ja kontrollige selle tööd enne, kui käivitate selle läbi systemd. Selleks minge boti kausta ja käivitage see pythoniga.

cd 
python3 bot.py

2. Lisage py-skriptide failidesse kodeering

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

Kopeerige faili algusesse.

3. Vead systemd-s

Kui olete boti vigade osas kontrollinud ja see töötas normaalselt, kuid see ei soovi systemd-s käivituda, siis saate vaadata logisid ja mõista, mis on vale, vaadates faili:

sudo nano /var/log/syslog

Saate selle faili alla laadida ja vaadata oma arvutis Notepad++-s.

4. Boti uuendamine

Kui soovite botile uusi funktsioone lisada või uue versiooni üles laadida, sisestage käsk:

sudo systemctl stop bot

Tehke kõik vajalikud toimingud. Seejärel sisestage järgmised käsud, et see uuesti töötaks:

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

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster