Sortie de l'application la plus simple créée par Django, un serveur WEB Python, sur ** Heroku **, qui est l'un des ** PaaS ** (Platform as a Service), et affiche "Hello" à l'écran. Vérifiez la procédure pour afficher "World ...".
Heroku est l'un des PaaS les plus connus, avec Force.com de Salesforce.com et Google AppEngine de Google.
: lien: site principal de Heorku https://jp.heroku.com/
Avec Heroku, vous pouvez lancer et exploiter des applications personnalisées sans avoir à vous soucier des problèmes d'environnement d'infrastructure tels que l'achat de serveurs, la configuration, la construction du réseau et la maintenance des serveurs.
Les applications déployées sur Heroku s'exécutent dans des unités de module complètement indépendantes appelées ** Dyno ** et s'adaptent automatiquement (diminuez le nombre de Dyno) et évoluent (augmentez le nombre de Dyno). Il est possible de.
De plus, la répartition de la charge et le traitement du routage sont automatiquement effectués en fonction de l'augmentation ou de la diminution du nombre de Dyno, et l'utilisateur n'a pas besoin de connaître les paramètres et les opérations.
Heroku a également de nombreuses autres fonctionnalités. Veuillez consulter ce site Heroku pour plus de détails.
: moneybag: ** Plage d'utilisation gratuite ** Heroku a un plan d'essai gratuit. ・ Limite de capacité de la RAM: jusqu'à 512 Mo ・ Nombre de Dynas simultanés: jusqu'à 2 ・ Endormez-vous après 30 minutes de marche au ralenti ・ Temps d'utilisation de Dyno par mois: jusqu'à 1000 heures
Cette fois, nous allons créer une application Django avec Raspberry PI 3 et la publier sur Heroku. Les détails de l'environnement d'exécution (environnement de construction d'application WEB) sont les suivants.
: faux: ** Détails de l'environnement de construction de l'application WEB ** ・ Raspberry PI 3 modèle B (mémoire 1 Go) -Version OS: Raspbian GNU / Linux 10 (buster) -Version du noyau: Linux raspberrypi 4.19.97-v7 + ・ Python 3.7.3 ・ Version 2.20.1 de Git
Créez une application WEB qui affiche "Hello World ..." dans Django. Lorsque l'application WEB sera terminée, nous la publierons sur Heroku.
Installez ** django-toolbelt **. django-toolbelt est une bibliothèque fournie par PyPI, qui est un package contenant un ensemble de fonctions nécessaires à l'exécution dans Heroku. Installez avec pip install.
: lien: détails de django-toolbelt https://pypi.org/project/django-toolbelt/
Exécutez la commande suivante.
pip install django-toolbelt
C'est OK lorsque ce qui suit est affiché. Le nom du logiciel installé s'affiche.
Créez un projet Django. La procédure de création est la même que la procédure générale Django. Cette fois, j'ai procédé avec la procédure suivante.
(1) Définissez le chemin de la commande django-admin
export PATH=~/.local/bin:$PATH
(2) Exécutez la commande django-admin
django-admin startproject herokutest
Le dossier de projet "herokutest" est créé.
(3) Modifier les paramètres.py
Modifiez la partie suivante de settinigs.py.
(Emplacement du fichier: [dossier du projet] /herokutest/settings.py)
settings.py
ALLOWED_HOSTS = ['*']
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
(4) Créer une application Hello
(Exécuter dans le dossier de projet créé heroku)
python manage.py startapp hello
(5) Modification de views.py
Définissez views.py comme suit.
(Emplacement du fichier: dans le dossier Hello créé)
views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello World Heroku Test!')
(6) Modification de urls.py Définissez urls.py comme suit. (Emplacement du fichier: [dossier du projet] /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) Vérifiez l'affichage de l'écran
Exécutez la commande suivante pour accéder à l'environnement local avec un navigateur et vérifier l'affichage de l'écran. (La commande est exécutée directement sous [Dossier de projet])
python manage.py runserver
Environnement local: localhost: 8000 / bonjour /
Résultat de l'affichage à l'écran ↓ C'est tout pour créer l'environnement d'application WEB.
Enregistrez un nouveau compte sur le site Heroku. Veuillez saisir votre adresse e-mail et votre mot de passe pour enregistrer votre compte. La procédure est omise ici.
Pour utiliser la commande Heroku, installez la CLI Heroku. Téléchargez à partir du site suivant.
:link: https://devcenter.heroku.com/articles/heroku-cli
Pour Raspberry PI, téléchargez depuis Linux (arm) dans la ligne rouge de la figure ci-dessous.
↓ Après le téléchargement, décompressez et placez le chemin dans le dossier bin.
Connectez-vous à Heroku avec la commande suivante.
heroku login
Le navigateur s'ouvre et le bouton de connexion s'affiche. Veuillez vous connecter.
Si l'écran ci-dessous s'affiche, la connexion est réussie.
Ici, nous allons passer en revue les étapes pour créer une nouvelle clé SSH qui la distingue des autres clés à usage individuel pour Heroku. L'emplacement de la clé SSH à créer est ~ / herokukeys /.
Suivez les étapes ci-dessous pour créer une clé SSH.
(1) Créez un dossier pour stocker la clé SSH.
mkdir ~/herokukeys
(2) Créez une paire de clés SSH.
ssh-keygen -f ~/herokukeys/id_rsa
Une clé privée (id_rsa) et une clé publique (id_rsa.pub) sont créées dans le dossier herokukeys.
(3) Si vous définissez une phrase de passe lors de la création de la clé SSH, vous serez invité à la saisir lors de la connexion. Pour l'omettre, exécutez la commande suivante.
ssh-add ~/herokukeys/id_rsa
(4) Enregistrez la clé publique SSH créée.
heroku keys:add ~/herokukeys/id_rsa.pub
(5) Effectuez les réglages suivants pour que la clé SSH créée individuellement sur le site Heroku soit utilisée.
Définition du fichier cible: ~ / .ssh / config
~/.ssh/config
Host heroku
HostName heroku.com
User git
IdentityFile /home/pi/herokukeys/id_rsa
Certains paramètres sont nécessaires pour déployer (libérer) l'application WEB sur Heroku.
Créez un fichier Procfile avec la commande suivante pour qu'Heroku exécute Web Dyno, qui est un Dyno pour le Web. L'emplacement à créer est directement sous [Dossier du projet].
echo "web: gunicorn herokutest.wsgi --log-file -" > Procfile
Décrit la version de Python à exécuter. Comme indiqué ci-dessous, les caractères de python sont écrits en lettres minuscules avec des tirets ajoutés. L'emplacement à créer est directement sous [Dossier du projet].
echo "python-3.7.3" > runtime.txt
Un fichier qui définit les bibliothèques nécessaires pour exécuter Python. Heroku examinera cela et installera les bibliothèques nécessaires. L'emplacement à créer est directement sous [Dossier du projet].
Cette fois, le contenu est le suivant.
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: ** Conseils sur la création d'exigences.txt **
Le fichier requirements.txt peut être créé avec la commande suivante.
pip freeze > requirements.txt
Le fichier ci-dessus n'a extrait que ce qui était nécessaire après l'exécution de cette commande.
Effectuez les réglages initiaux de Git. user.email doit être l'adresse e-mail enregistrée dans Heroku.
python
git config --global user.email "adresse mail"
git config --global user.name "Nom d'utilisateur"
(1) Initialisez le référentiel Git.
Exécutez-le directement sous [Dossier de projet].
git init
(2) Validez la source.
git add .
git commit -m" (définir le commentaire de validation) "
C'est OK si la liste des sources validées est affichée à l'écran.
Créez une application sur Heroku avec la commande suivante.
Exécutez-le directement sous [Dossier de projet].
heroku create
Heroku attribue automatiquement le nom de l'application.
Une fois la publication réussie, pour accéder à l'application WEB, accédez à l'URL donnée (dans la version payante, vous pouvez acquérir votre propre domaine et le remplacer).
Dans ce qui précède, mysterious-citadel-41347 a été donné comme nom de l'application.
Avant de déployer, nous ajusterons la source Django.
Cette fois, vous devez définir que vous n'utilisez pas d'actifs statiques.
Exécutez la commande suivante.
heroku config:set DISABLE_COLLECTSTATIC=1
Exécutez le déploiement (release) avec la commande suivante.
git push heroku master
Si le déploiement réussit sans aucune erreur, vérifiez l'écran.
Vous pouvez démarrer l'application WEB avec la commande "heroku open", mais cette fois il est nécessaire d'ajouter hello / à la fin de l'URL, alors entrez l'URL directement dans le navigateur pour confirmer.
URL: ** https: // (nom de l'application) .herokuapp.com / hello / **
Résultat de l'affichage à l'écran
Il a été affiché comme ci-dessus sur le navigateur, et l'affichage de "Hello World Heroku Test!" A été confirmé avec succès.
: lien: détails de django-toolbelt https://pypi.org/project/django-toolbelt/
: lien: site principal de Heorku https://jp.heroku.com/
Si vous avez des opinions ou des corrections, veuillez nous en informer.
Recommended Posts