LoginSignup
9
0

More than 1 year has passed since last update.

EC2にPython/Flask2を構築

Last updated at Posted at 2021-08-09

社内でこれから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

9
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
0