Pse GCP?
Kur isha duke shkruar bot për Telegram, u përballa me pyetjen si të bëja që boti të funksiononte vazhdimisht dhe falas. Opcioni me Heroku dhe Pythonanywhere ka kufij shumë të vegjël nëse keni më shumë se një bot. Prandaj, vendosa të përdor GCP. Platforma ofron 300 $ falas për një vit + zbritje të mëdha gjatë përdorimit të këtyre mjeteve (deri në 94%).

Si ta hostoni botin tuaj?
Hapi 1. Regjistrimi në GCP
Shkoni te faqja dhe klikojmë Nisni falas.

Vendosni të dhënat tuaja dhe kartën. Paratë nga karta nuk do të merren, nëse nuk aktivizoni vetë një abonim të paguar.

Hapi 2. Krijoni një makinë virtuale
Pas regjistrimit, do të jeni në faqen kryesore të shërbimit. Ju duhet të zgjidhni në seksionin e Burimeve skedën Compute Engine.

Duhet të krijoni një ekzemplar të ri.

Nëse nuk do të zhvilloni DB në makinën virtuale, atëherë mund të merrni g1-small, përndryshe ju rekomandoj n1-standard.

Duhet gjithashtu të zgjidhni një OS. Unë zgjodha Debian GNU/Linux 9 (stretch).

Të gjitha, VM është krijuar. Ndërsa shpërndarja e saj zgjat nga 1 deri në 5 minuta.
Hapi 3. Konfigurimi i makinës virtuale
Mund të lidheni përmes SSH nga PC juaj ose të ndërveproni përmes platformës.
Për këtë, klikoni në SSH.
![]()
Do t'ju hapet një terminal Linux në një dritare të re.

Tani kalojmë në konfigurim. Fillimisht shkruani komandën:
sudo apt-get updatepër të përditësuar informacionin mbi versionet më të reja të paketave.
MĂ« pas shkruaj:
sudo apt-get install python3-setuptools
sudo apt-get install python3-pipPython vetë nuk ka nevojë të instalohet, ai është tashmë aty.
Tani është e nevojshme të instaloni të gjitha bibliotekat e nevojshme. Ka një marrëzi të vogël, të gjitha bibliotekat duhet të instalohen dy herë:
pip3 install âname_of_packageâpĂ«r ta pĂ«rdorur pĂ«rmes komandĂ«s python3, dhe
sudo pip3 install âname_of_packageâ pĂ«r systemd. Ky utilitet do t'ju ndihmojĂ« tĂ« nisni botin dhe ta rifilloni atĂ« nĂ«se ai bie.
Mënyra më e thjeshtë për të nisur botin përmes python3, por ai do të ndalet nëse ju shkëputeni. Mund të përdorni screen, por boti nuk do të rishkaktohet vetë. Gjithashtu mund të përdorni crontab me kontrollin e portit, por mendoj se kjo opsion është më e komplikuar se systemd.
Hapi 4. Ngarko botin në server
Ka dy mënyra për të ngarkuar botin tuaj. Nëse nuk jeni të njohur me Git, mund ta arkivoni thjesht botin në .tar dhe ta ngarkoni atë në server:

Më pas, e hapim me komandën:
tar -xvf yourfile.tarTani boti juaj ruhet në dosjen me emrin e arkivës.
Mënyra e dytë është përmes Git. Mendoj se nuk ka nevojë të shpjegoj si ta bëni këtë për njerëzit që dinë ta përdorin.
Pas instalimit me komandën:
sudo apt install gitMund ta klononi në VM tuaj.
Më pas kalojmë në konfigurimin e systemd. Për këtë, kalojmë në dosjen e tij:
cd /etc/systemd/systemDhe krijojmë skedarin bot.service:
sudo nano bot.serviceShkruani në dritaren që u hap:
[Unit]
Description=Telegram bot 'Emri i botit'
After=syslog.target
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/home/emri juaj/userit/emri i dosjes ku ndodhet boti
ExecStart=/usr/bin/python3 /home/emri juaj/userit/emri i dosjes ku ndodhet boti/bot.py
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
Mbyllni dhe ruani skedarin. Mbyllet me komandën Ctrl+X.
Pas kësaj, futni komandat njëra pas tjetrës:
sudo systemctl daemon-reload
sudo systemctl enable bot
sudo systemctl start bot
sudo systemctl status bot
Nëse gjithçka shkon mirë, do të shihni diçka të ngjashme:

Tani boti juaj punon autonomisht. Shpresoj që artikulli im t'ju ndihmojë të hostoni botin tuaj.
P.S.
1. Kontrolloni botin tuaj për gabime
Aktivizoni botin tuaj dhe kontrolloni funksionimin e tij para se ta lançoni përmes systemd. Për këtë, shkoni në dosjen e botit dhe aktivizoni përmes python.
cd
python3 bot.py2. Shtoni kodimin në skedarët me skripte py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
Vendosni në fillim të skedarit.
3. Gabimet në systemd
Nëse e keni kontrolluar botin për gabime dhe ai punonte normalisht, por nuk dëshiron të aktivizohet në systemd, mund të shihni loget dhe të kuptoni se ku është gabimi duke kontrolluar skedarin:
sudo nano /var/log/syslogMund ta shkarkoni këtë skedar dhe ta shikoni në kompjuterin tuaj përmes Notepad++.
4. Përditësimi i botit
Nëse dëshironi të shtoni ose ngarkoni një version të ri të botit, atëherë shkruani komandën:
sudo systemctl stop botKryer të gjitha manipulimet e nevojshme. Pastaj shkruani komandat e mëposhtme për ta aktivizuar përsëri:
sudo systemctl daemon-reload
sudo systemctl start bot
sudo systemctl status botBurimi: habr.com
