Warum GCP?
Beim Schreiben von Telegrammen an Bots stieß ich auf die Frage, wie der Bot schnell und kostenlos ständig funktionieren kann. Optionen mit Heroku und Pythonanywhere haben zu kleine Grenzen, wenn Sie mehr als einen Bot haben. Also habe ich mich für GCP entschieden. Die Plattform bietet kostenlose 300 USD pro Jahr + enorme Rabatte auf die Verwendung dieser Mittel (bis zu 94%).Wie hoste ich meinen Bot?
Schritt 1. Registrieren Sie sich für GCP
Gehen Sie zur GCP- Website und klicken Sie auf Kostenlos starten .Geben Sie Ihre Daten und Ihre Karte ein. Geld von der Karte wird nicht belastet, wenn Sie selbst kein kostenpflichtiges Abonnement aktivieren.Schritt 2. Erstellen Sie eine virtuelle Maschine
Nach der Registrierung befinden Sie sich auf der Hauptseite des Dienstes. Sie müssen die Registerkarte Compute Engine im Abschnitt Ressourcen auswählen.Sie müssen eine neue Instanz erstellen.Wenn Sie die Datenbank nicht in einer virtuellen Maschine bereitstellen, können Sie g1-small verwenden, andernfalls empfehle ich n1-standart.Sie müssen auch ein Betriebssystem auswählen. Ich habe Debian GNU / Linux 9 (Stretch) gewählt.Alle VM erstellt. Die herkömmliche Bereitstellung dauert 1 bis 5 Minuten.Schritt 3. Konfigurieren Sie die virtuelle Maschine
Sie können von Ihrem PC aus eine Verbindung über SSH herstellen oder über die Plattform interagieren.Klicken Sie dazu auf SSH.Ihr Linux-Terminal wird in einem neuen Fenster geöffnet.Fahren wir nun mit der Einrichtung fort. Geben Sie zunächst den folgenden Befehl ein:sudo apt-get update
um Informationen zu den neuesten Paketversionen zu aktualisieren.Nachdem wir eingetreten sind:sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
Python selbst muss nicht installiert werden, es existiert bereits.Jetzt müssen Sie alle erforderlichen Bibliotheken installieren. Es gibt eine kleine Nuance, alle Bibliotheken müssen zweimal installiert werden:pip3 install ‘name_of_package’
zur Verwendung über den Befehl python3 undsudo pip3 install ‘name_of_package’
für systemd. Dieses Dienstprogramm hilft Ihnen, den Bot zu starten und neu zu starten, wenn er abstürzt.Der einfachste Weg, den Bot über Python3 auszuführen, wird jedoch ausgeschaltet, wenn Sie die Verbindung trennen. Sie können den Bildschirm verwenden, aber der Bot startet sich nicht neu. Sie können crontab auch für die Portprüfung verwenden, aber diese Option scheint mir komplizierter zu sein als systemd.Schritt 4. Füllen Sie den Bot auf den Server
Es gibt zwei Möglichkeiten, Ihren Bot zu füllen. Wenn Sie mit Git nicht befreundet sind, können Sie den Bot einfach in .tar archivieren und auf den Server hochladen:Entpacken Sie es anschließend mit dem folgenden Befehl:tar -xvf yourfile.tar
Jetzt wird Ihr Bot in einem Ordner mit dem Namen des Archivs gespeichert.Der zweite Weg führt über Git. Ich denke, es lohnt sich nicht, Leuten zu erklären, wie man das macht.Nach der Installation mit dem Befehl:sudo apt install git
Sie können es auf Ihrer VM klonen.Danach fahren wir mit der Einrichtung von systemd fort. Gehen Sie dazu in sein Verzeichnis:cd /etc/systemd/system
Und erstellen Sie die Datei bot.service:sudo nano bot.service
Geben Sie im folgenden Fenster Folgendes ein:
[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
Schließen und speichern Sie die Datei. Schließt mit dem Befehl Strg + X.Geben Sie danach die folgenden Befehle ein:sudo systemctl daemon-reload
sudo systemctl enable bot
sudo systemctl start bot
sudo systemctl status bot
Wenn alles gut geht, sehen Sie ungefähr Folgendes:Das war's, jetzt arbeitet Ihr Bot unabhängig. Ich hoffe, mein Artikel hilft Ihnen, Ihren Bot zu hosten.PS
1.Überprüfen Sie Ihren Bot auf Fehler
Starten Sie Ihren Bot und testen Sie seine Funktion, bevor Sie ihn über systemd starten. Gehen Sie dazu in den Ordner mit dem Bot und führen Sie Python durch.cd < >
python3 bot.py
2. Fügen Sie den Dateien mit Py-Skripten eine Codierung hinzu
Am Anfang der Datei einfügen.3. Spiegel in systemd
Wenn Sie den Bot auf Fehler überprüft haben und er einwandfrei funktioniert hat, aber nicht in systemd gestartet werden soll, können Sie sich die Protokolle ansehen und anhand der Datei verstehen, was der Fehler ist:sudo nano /var/log/syslog
Sie können diese Datei herunterladen und über Notepad ++ auf Ihrem Computer anzeigen.4.Bot Update
Wenn Sie eine neue Version des Bots hinzufügen oder hochladen möchten, geben Sie den folgenden Befehl ein:sudo systemctl stop bot
Stellen Sie alle erforderlichen Manipulationen bereit. Geben Sie dann die folgenden Befehle ein, damit es wieder funktioniert:sudo systemctl daemon-reload
sudo systemctl start bot
sudo systemctl status bot