Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

posted at

updated at

Organization

EC2にPython/Flask2を構築

社内でこれからPython/Flaskを教えていくのに、自分なりに整理していこうかと思います。
最終的にはPythonでマルチプロセスなんか記事にしていこうかな

まずは練習で簡単な記事から

EC2インスタンスの初期構築

・インスタンスタイプ
t2.micro
AMI は Amazon Linux 2を選択
後の構成はデフォルト

  • 最初はyumでupdate
sudo yum -y update
  • python3をインストール
sudo yum -y install python3

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Package python3-3.7.10-1.amzn2.0.1.x86_64 already installed and latest version

おこられた。
今時のAmazon Linux 2にはpython3が最初からインストールされてるっぽい

python3 -V

[ec2-user@ip-172-31-41-61 ~]$ python3 -V
Python 3.7.10
[ec2-user@ip-172-31-41-61 ~]$

3.7か...可もなく不可もない感じ

  • flaskをインストール
pip3 install flask

Installing collected packages: MarkupSafe, Jinja2, typing-extensions, zipp, importlib-metadata, click, Werkzeug, itsdangerous, flask
Successfully installed Jinja2-3.0.1 MarkupSafe-2.0.1 Werkzeug-2.0.1 click-8.0.1 flask-2.0.1 importlib-metadata-4.6.3 itsdangerous-2.0.1 typing-extensions-3.10.0.0 zipp-3.5.0

成功、成功...ん?
Flaskがいつの間にか2.0.1にバージョンアップされてるw
1年ぐらいに更新がないと思っていたら油断した

本家のサイトFlaskを確認したら2.0.2がリリースされているし1系もバージョンアップされてるね。更新内容は後で確認しますか

flask用のファイルを作成して起動

・今回はopt配下にec2-userで作成していく

cd /opt
sudo mkdir flask
sudo chown -R ec2-user:ec2-user flask
cd flask
mkdir hoge
cd hoge

・hogeディレクトリの配下にapp.pyを作成
ver2になってるので本家のサイトFlaskサイトを参考に進めてみると

app.py
from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
  return "世界のみなさん、こんにちは"

・ファイルを作成したの、適当に動かしてみる

flask run
  • Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
  • Debug mode: off
  • Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

・あれ動いたw
curlを投げてみますか

curl -i http://127.0.0.1:5000/

HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 39
Server: Werkzeug/2.0.1 Python/3.7.10
Date: Mon, 09 Aug 2021 08:44:40 GMT
世界のみなさん、こんにちは

・確かに動いてるぞ
どこでapp.pyを判断したんだよ。と思って本家のサイトを見てみると
app.pywsgi.py が存在していると自動で判断して起動してくれるみたい

Flaskが2にバージョンアップされて機能が追加されているようなので後で検証してみます

今回のサンプルコードはGitHubにアップしております
github/flask2_demo

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?