Tasuta Telegrami roboti hostimine Google Cloud Platvormil

Miks GCP?

Kuna ma kirjutasin Telegrami robote ning sattusin küsimusele, kuidas kiiresti ja tasuta tagada, et robot töötaks pidevalt. Heroku ja Pythonanywhere lahendused on liiga madalate limiitidega, kui sul on rohkem kui üks robot. Seetõttu otsustasin kasutada GCP-d. Platvorm pakub esmakordset kasutust tasuta 300 $ aastas + suured allahindlused nende vahendite kasutamisel (kuni 94%).

Tasuta Telegrami roboti hostimine Google Cloud Platvormil

Kuidas oma robotit majutada?

Samm 1. Registreerimine GCP-s

Külastame veebilehte GCP ja vajutame Alusta tasuta.
Tasuta Telegrami roboti hostimine Google Cloud Platvormil
Sisestame oma andmed ja kaardi. Raha kaardilt ei tule maha, kui sa ise ei aktiveeri tasulist tellimust.

Tasuta Telegrami roboti hostimine Google Cloud Platvormil

Samm 2. Loome virtuaalse masina

Pärast registreerimist jõuad teenuse avalehele. Pead valima Ressursside sektsioonis Compute Engine vahekaart.
Tasuta Telegrami roboti hostimine Google Cloud Platvormil
Peab looma uue eksemplari.

Tasuta Telegrami roboti hostimine Google Cloud Platvormil
Kui sa ei kavatse rakendada DB-d virtuaalmasinas, siis võid võtta g1-small, vastasel juhul soovitan n1-standard.

Tasuta Telegrami roboti hostimine Google Cloud Platvormil
Samuti pead valima OS-i. Mina valisin Debian GNU/Linux 9 (stretch).

Tasuta Telegrami roboti hostimine Google Cloud Platvormil
Kõik, VM on loodud. Tavaolukorras võtab selle juurutamine aega 1 kuni 5 minutit.

Samm 3. Virtuaalse masina seadistamine

Sa saad ühendada SSH kaudu oma PC-st või suhelda läbi platvormi.
Käivitage SSH.

Tasuta Telegrami roboti hostimine Google Cloud Platvormil
Avaneb Linuxi terminal uues aknas.

Tasuta Telegrami roboti hostimine Google Cloud Platvormil
Liigume seadistamise juurde. Esmalt sisestage käsk:

sudo apt-get update

pakettide uusima versiooni teabe värskendamiseks.

Seejärel sisestage:

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

Pythonit ise paigaldama ei pea, see on juba olemas.

Nüüd on vajalik paigaldada kõik vajalikud raamatukogud. On üks väike nüanss: kõik raamatukogud tuleb paigaldada kahel korral:

pip3 install ‘name_of_package’

python3 kaudu kasutamiseks, ja

sudo pip3 install ‘name_of_package’

systemd jaoks. See utiliit aitab teil boti käivitada ja seda taaskäivitada, kui see ebaõnnestub.
Lihtsaim viis boti käivitamiseks on python3 kaudu, kuid see lakkab töötamast, kui te välja logite. Võite kasutada screen'i, kuid bott ei taaskäivitu ise. Samuti on võimalik kasutada crontab'i porti kontrollimisega, kuid see variant tundub mulle keerulisem kui systemd.

Samm 4. Laadime boti serverisse

Teie boti üleslaadimiseks on kaks viisi. Kui te ei oska Git'iga töötada, võite lihtsalt boti .tar failina arhiveerida ja serverisse üles laadida:

Tasuta Telegrami roboti hostimine Google Cloud Platvormil
Seejärel dekompresseerige see käsuga:

tar -xvf yourfile.tar

Nüüd asub teie bott kaustas, mille nimi on arhivi nimi.

Teine võimalus läbi Giti. Arvan, et ei maksa selgitada, kuidas seda teha inimestele, kes oskavad sellega töötada.

Pärast selle installimist käsuga:

sudo apt install git

Saate selle enda virtuaalmasinale kloonida.

Pärast seda liigume systemd seadistamise juurde. Selleks läheme tema kausta:

cd /etc/systemd/system

Ja loome faili bot.service:

sudo nano bot.service

Kandke avatud aknasse järgnev:


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

[Service]
Type=simple
User=root
WorkingDirectory=/home/teie kasutajanimi/kaust, kus bot asub
ExecStart=/usr/bin/python3 /home/teie kasutajanimi/kaust, 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 järjestikku:

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

Kui kõik läheb hästi, näete umbes järgmist:

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

P.S.

1. Kontrollige oma boti vigade suhtes

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 -*-

Kleege faili algusesse.

3. Vead systemd-s.

Kui olete boti vigade osas kontrollinud ja see töötas normaalselt, kuid ei soovi systemd-s käivituda, võite vaadata logisid ja aru saada, milles probleem seisneb, vaadates faili:

sudo nano /var/log/syslog

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

4. Boti uuendamine.

Kui soovite boti lisada või uue versiooni üles laadida, siis sisestage käsk:

sudo systemctl stop bot

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

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

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster