Gratis hosting av Telegram-boten pÄ Google Cloud Platform

Hvorfor GCP?

NÄr jeg skrev Telegram-bots, stÞtte jeg pÄ spÞrsmÄlet om hvordan jeg raskt og gratis kunne fÄ boten til Ä fungere hele tiden. Alternativene med Heroku og Pythonanywhere har for smÄ grenser hvis du har mer enn én bot. Derfor bestemte jeg meg for Ä bruke GCP. Plattformen gir gratis $300 i lÞpet av et Är + enorme rabatter ved bruk av disse midlene (opptil 94%).

Gratis hosting av Telegram-boten pÄ Google Cloud Platform

Hvordan hoste boten din?

Trinn 1. Registrering pÄ GCP

GÄ til nettsiden GCP og klikk pÄ Kom i gang gratis.
Gratis hosting av Telegram-boten pÄ Google Cloud Platform
Skriv inn dine opplysninger og kortinformasjonen. Penger fra kortet ditt vil ikke bli trukket hvis du ikke selv aktiverer et betalt abonnement.

Gratis hosting av Telegram-boten pÄ Google Cloud Platform

Trinn 2. Opprett en virtuell maskin

Etter registreringen vil du komme til hovedsiden for tjenesten. Du mÄ velge fanen Compute Engine i Ressurser-seksjonen.
Gratis hosting av Telegram-boten pÄ Google Cloud Platform
Du mÄ opprette en ny instans.

Gratis hosting av Telegram-boten pÄ Google Cloud Platform
Hvis du ikke skal sette opp en database pÄ en virtuell maskin, kan du ta g1-small, ellers anbefaler jeg n1-standard.

Gratis hosting av Telegram-boten pÄ Google Cloud Platform
Du mÄ ogsÄ velge operativsystem. Jeg valgte Debian GNU/Linux 9 (stretch).

Gratis hosting av Telegram-boten pÄ Google Cloud Platform
Alt klart, VM er opprettet. Vanligvis tar oppsettet fra 1 til 5 minutter.

Trinn 3. Konfigurasjon av den virtuelle maskinen

Du kan koble deg til via SSH fra din PC eller samhandle gjennom plattformen.
For dette, klikk pÄ SSH.

Gratis hosting av Telegram-boten pÄ Google Cloud Platform
Du fÄr opp et Linux-terminalvindu i et nytt vindu.

Gratis hosting av Telegram-boten pÄ Google Cloud Platform
NÄ gÄr vi videre til oppsettet. FÞrst skriver vi inn kommandoen:

sudo apt-get update

for Ă„ oppdatere informasjon om de nyeste versjonene av pakker.

Deretter skriver vi inn:

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

Du trenger ikke Ă„ installere Python selv, det finnes allerede.

NÄ mÄ du installere alle nÞdvendige biblioteker. Det er en liten detalj: alle biblioteker mÄ installeres to ganger:

pip3 install ‘name_of_package’

for Ă„ bruke det via python3-kommandoen, og

sudo pip3 install ‘name_of_package’

for systemd. Dette verktĂžyet vil hjelpe deg med Ă„ starte boten og tilbakestille den hvis den krasjer.
Den enkleste mÄten Ä kjÞre boten via python3 pÄ er, men den vil slÄ seg av hvis du logger ut. Du kan bruke screen, men da vil ikke boten starte opp igjen selv. Du kan ogsÄ bruke crontab med portkontroll, men jeg synes dette alternativet er mer komplisert enn systemd.

Trinn 4. Laste opp boten til serveren

Det er to mÄter Ä laste opp boten din pÄ. Hvis du ikke er kjent med Git, kan du ganske enkelt pakke boten inn i en .tar og laste den opp til serveren:

Gratis hosting av Telegram-boten pÄ Google Cloud Platform
Deretter pakker vi den ut med kommandoen:

tar -xvf yourfile.tar

NÄ er boten din lagret i en mappe med navnet pÄ arkivet.

Den andre mÄten er gjennom Git. Jeg tror ikke det er nÞdvendig Ä forklare hvordan man gjÞr dette for folk som kan bruke det.

Etter installasjonen med fĂžlgende kommando:

sudo apt install git

Du kan klone den til din VM.

Deretter gÄr vi videre til konfigureringen av systemd. For dette gÄr vi inn i katalogen:

cd /etc/systemd/system

Og vi oppretter filen bot.service:

sudo nano bot.service

Skriv inn fÞlgende i det Äpne vinduet:


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

[Service]
Type=simple
User=root
WorkingDirectory=/home/navn pÄ brukeren/directory med bot
ExecStart=/usr/bin/python3 /home/navn pÄ brukeren/directory med bot/bot.py

RestartSec=10
Restart=alltid

[Install]
WantedBy=multi-user.target

Lukk og lagre filen. Du lukker med Ctrl+X.

Etter dette skriver du inn kommandoene en etter en:

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

Hvis alt gÄr bra, vil du se omtrent fÞlgende:

Gratis hosting av Telegram-boten pÄ Google Cloud Platform
Det er alt, nÄ fungerer boten din selvstendig. Jeg hÄper artikkelen min hjelper deg med Ä hoste boten din.

P.S.

1. Sjekk boten din for feil

KjÞr boten din og sjekk at den fungerer fÞr du starter den via systemd. For dette gÄr du til mappen med boten og kjÞrer den med python.

cd 
python3 bot.py

2. Legg til filkoding i py-skriptfilene

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

Sett inn i begynnelsen av filen.

3. Feil i systemd

Hvis du har sjekket boten for feil og den fungerte bra, men den ikke vil starte i systemd, kan du se pÄ loggene og finne ut hva feilen er ved Ä se pÄ filen:

sudo nano /var/log/syslog

Du kan laste ned denne filen og se den pÄ datamaskinen din med Notepad++.

4. Oppdater boten

Hvis du vil skrive inn eller laste opp en ny versjon av boten, kan du skrive inn kommandoen:

sudo systemctl stop bot

GjÞr alle nÞdvendige manipulasjoner. Deretter kan du skrive inn fÞlgende kommandoer for Ä fÄ den til Ä fungere igjen:

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

Kilde: habr.com

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster