Veröffentlichte die einfachste Anwendung, die von Django, einem Python-WEB-Server, auf ** Heroku **, einem von ** PaaS ** (Platform as a Service), erstellt wurde, und zeigte "Hallo" auf dem Bildschirm an. Überprüfen Sie das Verfahren, um "Welt ..." anzuzeigen.
Heroku ist neben Force.com von Salesforce.com und Google AppEngine von Google eines der bekanntesten PaaS.
: link: Heorkus Hauptseite https://jp.heroku.com/
Mit Heroku können Sie angepasste Anwendungen freigeben und betreiben, ohne sich um die Probleme der Infrastrukturumgebung wie Serverbeschaffung, Einrichtung, Netzwerkaufbau und Serverwartung kümmern zu müssen.
Auf Heroku bereitgestellte Anwendungen werden in völlig unabhängigen Moduleinheiten namens ** Dyno ** ausgeführt und automatisch skaliert (Dyno-Anzahl verringern) und verkleinern (Dyno-Anzahl erhöhen). Es ist möglich zu.
Darüber hinaus werden die Lastverteilung und die Routing-Verarbeitung automatisch entsprechend der Zunahme oder Abnahme der Anzahl von Dyno ausgeführt, und der Benutzer muss die Einstellungen und Vorgänge nicht kennen.
Heroku hat noch viele andere Funktionen. Weitere Informationen finden Sie auf dieser Heroku-Website.
: moneybag: ** Freie Nutzungsreichweite ** Heroku hat einen kostenlosen Testplan. ・ RAM-Kapazitätsgrenze: bis zu 512 MB ・ Anzahl gleichzeitiger Dynas: Bis zu 2 ・ Nach 30 Minuten Leerlauf schlafen gehen ・ Dyno-Nutzungsdauer pro Monat: bis zu 1.000 Stunden
Dieses Mal werden wir eine Django-App mit Raspberry PI 3 erstellen und für Heroku veröffentlichen. Die Details der Ausführungsumgebung (WEB-Anwendungskonstruktionsumgebung) sind wie folgt.
: falsch: ** Details der WEB-Anwendungskonstruktionsumgebung ** ・ Himbeer PI 3 Modell B (Speicher 1 GB) -OS Version: Raspbian GNU / Linux 10 (Buster) -Kernel-Version: Linux raspberrypi 4.19.97-v7 + ・ Python 3.7.3 ・ Git Version 2.20.1
Erstellen Sie eine WEB-Anwendung, die in Django "Hello World ..." anzeigt. Wenn die WEB-Anwendung abgeschlossen ist, werden wir sie für Heroku freigeben.
Installiere ** django-toolbelt **. django-toolbelt ist eine von PyPI bereitgestellte Bibliothek, ein Paket, das eine Reihe von Funktionen enthält, die für die Ausführung in Heroku erforderlich sind. Installieren Sie mit pip install.
: link: django-toolbelt details https://pypi.org/project/django-toolbelt/
Führen Sie den folgenden Befehl aus.
pip install django-toolbelt
Es ist in Ordnung, wenn Folgendes angezeigt wird. Der Name der installierten Software wird angezeigt.
Erstellen Sie ein Django-Projekt. Das Erstellungsverfahren ist das gleiche wie das allgemeine Django-Verfahren. Dieses Mal fuhr ich mit dem folgenden Verfahren fort.
(1) Legen Sie den Pfad des Befehls django-admin fest
export PATH=~/.local/bin:$PATH
(2) Führen Sie den Befehl django-admin aus
django-admin startproject herokutest
Der Projektordner "herokutest" wird erstellt.
(3) Bearbeiten Sie settings.py
Ändern Sie den folgenden Teil von settinigs.py.
(Speicherort der Datei: [Projektordner] /herokutest/settings.py)
settings.py
ALLOWED_HOSTS = ['*']
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
(4) Erstellen einer Hallo-Anwendung
(Im erstellten Projektordner heroku ausführen)
python manage.py startapp hello
(5) Bearbeiten von views.py
Stellen Sie views.py wie folgt ein.
(Speicherort der Datei: im erstellten Hallo-Ordner)
views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello World Heroku Test!')
(6) Bearbeiten von urls.py Stellen Sie urls.py wie folgt ein. (Speicherort der Datei: [Projektordner] /herokutest/urls.py)
urls.py
from django.contrib import admin
from django.urls import path
import hello.views as hello
urlpatterns = [
path('admin/', admin.site.urls),
path('hello/', hello.index),
]
(7) Überprüfen Sie die Bildschirmanzeige
Führen Sie den folgenden Befehl aus, um mit einem Browser auf die lokale Umgebung zuzugreifen und die Bildschirmanzeige zu überprüfen. (Der Befehl wird direkt unter [Projektordner] ausgeführt.)
python manage.py runserver
Lokale Umgebung: localhost: 8000 / hallo /
Ergebnis der Bildschirmanzeige ↓ Das ist alles für den Aufbau der WEB-Anwendungsumgebung.
Registrieren Sie ein neues Konto auf der Heroku-Website. Bitte geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein, um Ihr Konto zu registrieren. Das Verfahren wird hier weggelassen.
Installieren Sie die Heroku-CLI, um den Heroku-Befehl zu verwenden. Download von der folgenden Seite.
:link: https://devcenter.heroku.com/articles/heroku-cli
Laden Sie für Raspberry PI von Linux (Arm) in der roten Linie in der folgenden Abbildung herunter.
↓ Entpacken Sie den Pfad nach dem Herunterladen und legen Sie ihn im Ordner bin ab.
Melden Sie sich mit dem folgenden Befehl bei Heroku an.
heroku login
Der Browser wird geöffnet und die Anmeldeschaltfläche wird angezeigt. Bitte melden Sie sich an.
Wenn der folgende Bildschirm angezeigt wird, ist die Anmeldung erfolgreich.
Hier werden wir das Verfahren zum Erstellen eines neuen SSH-Schlüssels überprüfen, der ihn von anderen Schlüsseln für die individuelle Verwendung für Heroku unterscheidet. Der Speicherort des zu erstellenden SSH-Schlüssels ist ~ / herokukeys /.
Führen Sie die folgenden Schritte aus, um einen SSH-Schlüssel zu erstellen.
(1) Erstellen Sie einen Ordner zum Speichern des SSH-Schlüssels.
mkdir ~/herokukeys
(2) Erstellen Sie ein SSH-Schlüsselpaar.
ssh-keygen -f ~/herokukeys/id_rsa
Ein privater Schlüssel (id_rsa) und ein öffentlicher Schlüssel (id_rsa.pub) werden im Ordner herokukeys erstellt.
(3) Wenn Sie beim Erstellen des SSH-Schlüssels eine Passphrase festlegen, werden Sie beim Herstellen der Verbindung aufgefordert, diese einzugeben. Führen Sie den folgenden Befehl aus, um dies zu unterlassen.
ssh-add ~/herokukeys/id_rsa
(4) Registrieren Sie den erstellten öffentlichen SSH-Schlüssel.
heroku keys:add ~/herokukeys/id_rsa.pub
(5) Nehmen Sie die folgenden Einstellungen vor, damit der auf der Heroku-Site individuell erstellte SSH-Schlüssel verwendet wird.
Festlegen der Zieldatei: ~ / .ssh / config
~/.ssh/config
Host heroku
HostName heroku.com
User git
IdentityFile /home/pi/herokukeys/id_rsa
Einige Einstellungen sind erforderlich, um die WEB-Anwendung auf Heroku bereitzustellen (freizugeben).
Erstellen Sie eine Procfile mit dem folgenden Befehl, damit Heroku Web Dyno ausführt, ein Dyno für das Web. Der zu erstellende Speicherort befindet sich direkt unter [Projektordner].
echo "web: gunicorn herokutest.wsgi --log-file -" > Procfile
Beschreibt die auszuführende Python-Version. Wie unten gezeigt, werden die Zeichen von Python in Kleinbuchstaben mit Bindestrichen geschrieben. Der zu erstellende Speicherort befindet sich direkt unter [Projektordner].
echo "python-3.7.3" > runtime.txt
Eine Datei, die die Bibliotheken definiert, die zum Ausführen von Python benötigt werden. Heroku wird sich das ansehen und die notwendigen Bibliotheken installieren. Der zu erstellende Speicherort befindet sich direkt unter [Projektordner].
Diesmal sind die Inhalte wie folgt.
requirements.txt
asgiref==3.2.10
dj-database-url==0.5.0
dj-static==0.0.6
Django==3.1.2
django-toolbelt==0.0.1
gunicorn==20.0.4
psycopg2==2.8.6
pytz==2020.1
sqlparse==0.4.1
static3==0.7.0
: bulb: ** Tipps zum Erstellen der Anforderung.txt **
Die Datei require.txt kann mit dem folgenden Befehl erstellt werden.
pip freeze > requirements.txt
Die obige Datei extrahierte nur das, was nach Ausführung dieses Befehls benötigt wurde.
Nehmen Sie die Grundeinstellungen von Git vor. user.email sollte die in Heroku registrierte E-Mail-Adresse sein.
python
git config --global user.email "Mail Adresse"
git config --global user.name "Nutzername"
(1) Initialisieren Sie das Git-Repository.
Führen Sie es direkt unter [Projektordner] aus.
git init
(2) Übernehmen Sie die Quelle.
git add .
git commit -m" (Commit-Kommentar setzen) "
Es ist in Ordnung, wenn die Liste der festgeschriebenen Quellen auf dem Bildschirm angezeigt wird.
Erstellen Sie eine Anwendung auf Heroku mit dem folgenden Befehl.
Führen Sie es direkt unter [Projektordner] aus.
heroku create
Heroku weist den Anwendungsnamen automatisch zu.
Um nach erfolgreicher Veröffentlichung auf die WEB-Anwendung zuzugreifen, greifen Sie auf die angegebene URL zu (in der kostenpflichtigen Version können Sie Ihre eigene Domain erwerben und diese ersetzen).
Oben wurde Mystery-Citadel-41347 als Anwendungsname angegeben.
Vor der Bereitstellung werden wir die Django-Quelle anpassen.
Dieses Mal müssen Sie festlegen, dass Sie keine statischen Assets verwenden.
Führen Sie den folgenden Befehl aus.
heroku config:set DISABLE_COLLECTSTATIC=1
Führen Sie die Bereitstellung (Release) mit dem folgenden Befehl aus.
git push heroku master
Wenn die Bereitstellung ohne Fehler erfolgreich ist, überprüfen Sie den Bildschirm.
Sie können die WEB-Anwendung mit dem Befehl "heroku open" starten. Diesmal muss jedoch hallo / am Ende der URL hinzugefügt werden. Geben Sie die URL zur Bestätigung direkt in den Browser ein.
URL: ** https: // (Anwendungsname) .herokuapp.com / hello / **
Ergebnis der Bildschirmanzeige
Es wurde wie oben im Browser angezeigt und die Anzeige von "Hello World Heroku Test!" Wurde erfolgreich bestätigt.
: link: django-toolbelt details https://pypi.org/project/django-toolbelt/
: link: Heorkus Hauptseite https://jp.heroku.com/
Wenn Sie Meinungen oder Korrekturen haben, lassen Sie es uns bitte wissen.
Recommended Posts