[AWS] Préparation du déploiement de l'application Flask pour la création d'un environnement Python avec eb [Elastic Beanstalk]

http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/create-deploy-python-flask.html Je travaillerai avec

Conditions préalables

[AWS] J'ai essayé de créer un environnement Python avec l'environnement de développement eb est au moins dans un environnement où cela peut être fait.

En bref, c'est OK si vous pouvez utiliser les 4

Configurer un environnement virtuel

Travailler avec le client à portée de main (je suis un Mac)

variable


VIRTUAL_ENV_NAME='eb-test-Flask'

commander


VIRTUAL_ENV_NAME='eb-test-Flask'
cd ~
virtualenv ${VIRTUAL_ENV_NAME}

résultat


New python executable in /Users/****/eb-test-Flask/bin/python
Installing setuptools, pip, wheel...done.

Exécuter un environnement virtuel

commander


source ~/${VIRTUAL_ENV_NAME}/bin/activate

OK si le nom de l'environnement est attaché au début de l'invite de commande dans ()

Vérification


(eb-test-Flask) 

Introduction de Flask

commander


pip install flask==0.10.1

Vérification


pip freeze

résultat


Flask==0.10.1
itsdangerous==0.24
Jinja2==2.8
MarkupSafe==0.23
Werkzeug==0.11.9

Si le résultat ci-dessus est sorti, il réussit.

Créer une application Flask

Ensuite, créez une application à déployer à l'aide d'Elastic Beanstalk. Dans ce cas, nous allons créer un service Web RESTful appelé "Hello World".

Vérification Le nom de l'environnement doit être entre parenthèses au début de l'invite de commande. Avec cette procédure (eb-test-Flask)

Créer un répertoire de projet

Vérification


pwd

résultat


/Users/****/eb-test-Flask

variable


PJ_DIR_NAME='eb-flask'

commander


mkdir ${PJ_DIR_NAME}

Vérification


ls | grep ${PJ_DIR_NAME}

résultat


eb-flask

commander


cd ${PJ_DIR_NAME}

Vérification


pwd

résultat


/Users/****/eb-test-Flask/eb-flask

Créer un exemple d'application Le code est extrait du document et utilisé tel quel

application.py


from flask import Flask

# print a nice greeting.
def say_hello(username = "World"):
    return '<p>Hello %s!</p>\n' % username

# some bits of text for the page.
header_text = '''
    <html>\n<head> <title>EB Flask Test</title> </head>\n<body>'''
instructions = '''
    <p><em>Hint</em>: This is a RESTful web service! Append a username
    to the URL (for example: <code>/Thelonious</code>) to say hello to
    someone specific.</p>\n'''
home_link = '<p><a href="/">Back</a></p>\n'
footer_text = '</body>\n</html>'

# EB looks for an 'application' callable by default.
application = Flask(__name__)

# add a rule for the index page.
application.add_url_rule('/', 'index', (lambda: header_text +
    say_hello() + instructions + footer_text))

# add a rule when the page is accessed with a name appended to the site
# URL.
application.add_url_rule('/<username>', 'hello', (lambda username:
    header_text + say_hello(username) + home_link + footer_text))

# run the app.
if __name__ == "__main__":
    # Setting debug to True enables debug output. This line should be
    # removed before deploying a production app.
    application.debug = True
    application.run()

Exécutez application.py

Assurez-vous que vous vous trouvez dans le répertoire de travail sous l'environnement virtuel. (Si vous n'avez rien fait d'autre du processus jusqu'à présent, ce n'est pas grave)

Vérification


pwd

résultat


/Users/****/eb-test-Flask/eb-flask

commander


python application.py

résultat


 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger pin code: 344-661-719

Lancez le navigateur Accédez à http://127.0.0.1:5000/.

Vérification


curl http://127.0.0.1:5000/

résultat


    <html>
<head> <title>EB Flask Test</title> </head>
<body><p>Hello World!</p>

    <p><em>Hint</em>: This is a RESTful web service! Append a username
    to the URL (for example: <code>/Thelonious</code>) to say hello to
    someone specific.</p>
</body>

Si vous pouvez le confirmer, vous pouvez l'arrêter.

commander


Control + C

Configurer une application Flask pour eb

Puisque l'application a pu fonctionner dans l'environnement actuel, je vais l'implémenter dans eb

Mise en garde Je continuerai à travailler dans un environnement virtuel

commander


cd ~/${VIRTUAL_ENV_NAME}/${PJ_DIR_NAME}
pwd

résultat


/Users/****/eb-test-Flask/eb-flask

commander


pip freeze > requirements.txt

Vérification


cat requirements.txt

résultat


Flask==0.10.1
itsdangerous==0.24
Jinja2==2.8
MarkupSafe==0.23
Werkzeug==0.11.9

Elastic Beanstalk utilise requirements.txt pour déterminer les packages à installer sur l'instance EC2 qui exécute l'application.

Donc ce travail est nécessaire. Et le nom du fichier doit également être requirements.txt.

Fin de l'environnement virtuel

commander


deactivate

Ce n'est pas grave si le () au début de l'invite disparaît

Vérification de la configuration de l'annuaire

Vérification


tree ~/${VIRTUAL_ENV_NAME}/${PJ_DIR_NAME}

résultat


/Users/****/eb-test-Flask/eb-flask/
├── application.py
└── requirements.txt

A continué

Déploiement d'application Flask qui a tenté de créer un environnement Python avec eb

Recommended Posts

[AWS] Préparation du déploiement de l'application Flask pour la création d'un environnement Python avec eb [Elastic Beanstalk]
[AWS] Version de déploiement d'application Flask qui a tenté de créer un environnement Python avec eb [Elastic Beanstalk]
[AWS] J'ai essayé de créer un environnement Python avec un environnement de développement eb [Elastic Beanstalk]
J'ai essayé de créer un environnement de développement Mac Python avec pythonz + direnv
Créer un environnement de développement d'applications d'apprentissage automatique avec Python
Comment créer un environnement de développement de la série Python2.7 avec Vagrant
Une note qui déploie une application Python de Circle CI vers Elastic Beanstalk et avertit Slack
Créer une application Web de type Flask / Bottle sur AWS Lambda avec Chalice
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
J'ai essayé de créer une application de notification de publication à 2 canaux avec Python
Je veux créer un environnement Python
Créez un environnement virtuel pour python avec pyenv
Créez un environnement Python moderne avec Neovim
Notez que l'environnement Python de Pineapple peut être modifié avec pyenv
J'ai essayé de faire un signal avec Raspeye 4 (édition Python)
Créez un environnement WardPress sur AWS avec Pulumi
J'ai fait une application d'envoi de courrier simple avec tkinter de Python
Créez un environnement python avec ansible sur centos6
[Python] Créer un environnement de développement Django avec Docker
Quand j'ai essayé de créer un environnement virtuel avec Python, cela n'a pas fonctionné
Créer un environnement de construction python3 avec Sublime Text3
Construire un environnement Python avec OSX Elcapitan
Créez rapidement un environnement Python Django avec IntelliJ
Créer un environnement d'apprentissage automatique Python avec des conteneurs
Créer un environnement d'exécution python avec VS Code
[Pas besoin de créer un environnement local] Déployez une application de bouteille Python créée avec Cloud 9 sur Heroku
J'ai essayé de créer un environnement d'apprentissage automatique avec Python (Mac OS X)
# 2 Créez un environnement Python avec une instance EC2 d'AWS (ubuntu18.04)
Créez un environnement python pour chaque répertoire avec pyenv-virtualenv
Comment créer un environnement Django (python) sur Docker
[Go + Gin] J'ai essayé de créer un environnement Docker
Un serveur qui fait écho aux données POSTées avec flask / python
Créez un environnement virtuel python avec virtualenv et virtualenvwrapper
Comment créer un environnement Python sur Amazon Linux 2
[Python] J'ai essayé de faire une application qui calcule le salaire en fonction des heures de travail avec tkinter
J'ai essayé de charger / télécharger des fichiers sur AWS S3 / Azure BlobStorage / GCP CloudStorage avec Python
J'ai essayé de créer un générateur qui génère une classe conteneur C # à partir de CSV avec Python
J'ai essayé de créer un service qui vend des données apprises par machine à une vitesse explosive avec Docker
J'ai écrit un script pour créer rapidement un environnement de développement pour Twitter Bot avec AWS Lambda + Python 2.7
Comment créer un nouvel environnement virtuel Python sur Ubuntu
Comment convertir un tableau en dictionnaire avec Python [Application]
J'ai créé une application de livre simple avec python + Flask ~ Introduction ~
De la construction de l'environnement au déploiement pour flask + Heroku avec Docker
Créer un environnement Python et transférer des données vers le serveur
Créer un environnement python avec pyenv (OS X El Capitan 10.11.3)
Créer un environnement Python avec WSL + Pyenv + Jupyter + VSCode
Apprentissage de l'historique pour participer au développement d'applications d'équipe avec Python ~ Créer un environnement Docker / Django / Nginx / MariaDB ~
Créer un environnement python3 avec ubuntu 16.04
Construire un environnement python avec direnv
Une histoire qui n'a pas fonctionné lorsque j'ai essayé de me connecter avec le module de requêtes Python
Créer un environnement Python hors ligne
Application Web avec Python + Flask ② ③
Créez rapidement un environnement d'exécution d'application Web Python3.4 + Nginx + uWSGI + Flask en utilisant pyenv sur Ubuntu 12.04
Application Web avec Python + Flask ④
J'ai essayé de créer un environnement serveur qui fonctionne sous Windows 10
J'ai essayé de résoudre l'édition du débutant du livre des fourmis avec python
Application Web réalisée avec Python + Flask (en utilisant VScode) # 1-Construction d'environnement virtuel-
Créez un environnement Python 2.7 64 bits avec TDM-GCC et MinGW-w64 sous Windows 7