Неліктен GCP?
Боттарға арналған жеделхаттар жазу кезінде мен боттың тұрақты жұмыс істеуін қалай тез және еркін ету керек деген сұраққа тап болдым. Егер сізде бірнеше бот болса, Heroku және Pythonywhere опцияларында тым аз шектеулер болады. Сондықтан мен GCP пайдалануды шештім. Платформа жылына $300 тегін + осы қаражатты пайдалану кезінде үлкен жеңілдіктер береді (94% дейін).

Ботты қалай орналастыруға болады?
1-қадам: GCP үшін тіркелу
веб-торабына өтіңіз және нұқыңыз Тегін бастамаңыз.

Мәліметтеріңізді және картаңызды енгізіңіз. Ақылы жазылымды өзіңіз белсендірмейінше, картадан ақша есептен шығарылмайды.

2-қадам. Виртуалды машина жасаңыз
Тіркеуден кейін сіз өзіңізді қызметтің негізгі бетінде табасыз. Ресурстар бөлімінде Есептеу механизмі қойындысын таңдау керек.

Жаңа дананы жасау керек.

Егер сіз дерекқорды орналастырмасаңыз виртуалды машина, содан кейін g1-small ала аласыз, әйтпесе мен n1-standart ұсынамын.

Сондай-ақ операциялық жүйені таңдау керек. Мен Debian GNU/Linux 9 (созылу) таңдадым.

Міне, VM құрылды. Әдеттегі орналастыру 1 минуттан 5 минутқа дейін созылады.
3-қадам: виртуалды машинаны орнату
Компьютерден SSH арқылы қосылуға немесе платформа арқылы өзара әрекеттесуге болады.
Мұны істеу үшін SSH түймесін басыңыз.
![]()
Сіздің Linux терминалыңыз жаңа терезеде ашылады.

Енді орнатуға көшейік. Алдымен пәрменді енгіземіз:
sudo apt-get updateсоңғы бума нұсқалары туралы ақпаратты жаңарту үшін.
Содан кейін енгізіңіз:
sudo apt-get install python3-setuptools
sudo apt-get install python3-pipPython-ның өзін орнатудың қажеті жоқ, ол қазірдің өзінде бар.
Енді барлық қажетті кітапханаларды орнату керек. Кішкентай нюанс бар: барлық кітапханалар екі рет орнатылуы керек:
pip3 install ‘name_of_package’python3 пәрмені арқылы пайдалану үшін және
sudo pip3 install ‘name_of_package’ systemd үшін. Бұл қызметтік бағдарлама ботты іске қосуға және ол бұзылған жағдайда оны қайта іске қосуға көмектеседі.
Ботты іске қосудың ең оңай жолы - python3 арқылы, бірақ ажыратсаңыз, ол өшеді. Экранды пайдалануға болады, бірақ бот өзін қайта іске қоспайды. Сіз сондай-ақ портты тексеру арқылы crontab пайдалана аласыз, бірақ менің ойымша, бұл опция systemd қарағанда күрделірек.
Қадам 4. Ботты серверге жүктеңіз
Ботты жүктеп салудың екі жолы бар. Егер сіз Git-пен таныс болмасаңыз, ботты жай ғана .tar ішінде мұрағаттап, серверге жүктей аласыз:

Осыдан кейін оны пәрменмен ашыңыз:
tar -xvf yourfile.tarЕнді сіздің бот мұрағат атауы бар қалтада сақталады.
Екінші жол - Git арқылы. Оны қалай қолдану керектігін білетін адамдарға мұны қалай жасау керектігін түсіндірудің қажеті жоқ деп ойлаймын.
Оны пәрменмен орнатқаннан кейін:
sudo apt install gitСіз оны VM-ге клондай аласыз.
Осыдан кейін біз systemd орнатуға көшеміз. Ол үшін оның каталогына өтіңіз:
cd /etc/systemd/systemЖәне bot.service файлын жасаңыз:
sudo nano bot.serviceАшылған терезеге келесіні енгізіңіз:
[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
Файлды жабыңыз және сақтаңыз. Ctrl+X командасы арқылы жабылады.
Осыдан кейін командаларды бір-бірден енгізіңіз:
sudo systemctl daemon-reload
sudo systemctl enable bot
sudo systemctl start bot
sudo systemctl status bot
Егер бәрі жақсы болса, сіз келесідей нәрсені көресіз:

Міне, енді сіздің ботыңыз дербес жұмыс істейді. Менің мақалам сізге роботты орналастыруға көмектеседі деп үміттенемін.
PS
1. Ботыңызда қателер бар-жоғын тексеріңіз
Ботты іске қосыңыз және оны systemd арқылы іске қоспас бұрын тексеріңіз. Ол үшін бот бар қалтаға өтіп, оны python арқылы іске қосыңыз.
cd <папка вашего бота>
python3 bot.py2. py сценарийлері бар файлдарға кодтауды қосыңыз
#!/usr/bin/env python
# -*- coding: utf-8 -*-
Файлдың басына кірістіріңіз.
3. Systemd жүйесіндегі қателер
Егер сіз боттағы қателерді тексерген болсаңыз және ол жақсы жұмыс істесе, бірақ ол systemd жүйесінде іске қосқысы келмесе, онда журналдарды қарап, файлды қарап, қатенің не екенін түсінуге болады:
sudo nano /var/log/syslogСіз бұл файлды жүктеп алып, оны Блокнот++ арқылы компьютеріңізден көре аласыз.
4.Бот жаңартуы
Боттың жаңа нұсқасын қосқыңыз немесе жүктеп салғыңыз келсе, пәрменді енгізіңіз:
sudo systemctl stop botБарлық қажетті манипуляциялардан өтіңіз. Содан кейін оны қайтадан жұмыс істеу үшін келесі пәрмендерді енгізіңіз:
sudo systemctl daemon-reload
sudo systemctl start bot
sudo systemctl status botАқпарат көзі: www.habr.com
