rukurxの日記

自分の日々の作業や調べたことのメモ

BeanstalkでFlaskのAPIサーバーを構築する

  • プロジェクトフォルダを作成する
mkdir flask-prj
cd flask-prj
  • virtualenvをインストールする
pip install virtualenv
  • 仮想環境を構築する
virtualenv venv

直下に venv ディレクトリが作成される。

  • 仮想環境に入る
source virtualenv/bin/activate

または

. venv/bin/activate
  • 仮想環境を終了する
deactivate
  • デプロイ時のバンドルにvenvを含まないようにする。 デプロイ時には新しくvenvの構築がされるのでこの設定はなくてもいいが、バンドルの容量削減などに効果がある。
touch .ebignore
venv
  • Flaskをインストールする
pip install flask
  • requirements.txtファイル生成
pip freeze > requirements.txt
  • Flaskのアプリケーションを作成する application.pyを作成する
from flask import Flask

application = Flask(__name__)

@application.route("/")
def index():
    return "Hello World!"

if __name__ == "__main__":
    application.debug = True
    application.run()
  • ローカルで起動してみる
python application.py
  • Beanstalkのアプリケーションを作成する
eb init -p python-3.8 flask-prj-app --region ap-northeast-1
  • アプリケーション内に環境を構築する
eb create flask-prj-env
  • 構築した環境を開く
eb open

参考

docs.aws.amazon.com