Python: PythonとFlaskの本番運用準備

このドキュメントはREST APIの作成ガイドの一部です。完全なガイドはこちらからご覧いただけます:PythonのFlaskでREST APIを構築するためのステップバイステップガイド

👋 Stackhero ドキュメントへようこそ!

Stackhero は、デプロイ作業を効率化するために設計された、すぐに使える Python クラウド ソリューションを提供しています:

  • シンプルな git push だけで、数秒でアプリケーションを本番環境にデプロイできます。
  • ご自身のドメイン名を利用可能で、HTTPS 証明書の自動設定により安全な接続も自動で管理されます。
  • 自動バックアップワンクリックアップデート予測可能な料金体系により、インフラ管理ではなくコードに集中できます。
  • プライベートかつ専用インフラ上で、強力なパフォーマンスセキュリティを実現。お客様の環境は分離され、保護されています。

時間を節約し、ワークフローをシンプルに:Stackhero の Python クラウドホスティング なら、わずか 5分でコードを稼働させることができます。

Flaskの組み込みサーバーは開発用途には最適ですが、本番環境ではGunicornのような堅牢なWSGIサーバーを利用することを推奨します。準備手順は以下の通りです:

  1. Gunicornのインストール:

    pip install gunicorn
    pip freeze > requirements.txt
    
  2. Gunicornでアプリを起動:

    ENV=production gunicorn app:app \
      --error-logfile - \
      -b 0.0.0.0:8080
    

    ここでapp:appはファイル(app.py)とFlaskアプリケーションインスタンス(app)を指します。

  3. Makefileを追加して、開発・本番モードの切り替えを簡単にできます:

    .DEFAULT_GOAL := dev
    
    # Stackhero for Pythonはデフォルトで"run"ルールを実行します。ここでは'prod'を実行するように上書きします。
    run: prod
    
    prod:
    	ENV=production gunicorn app:app \
    	  --error-logfile - \
    	  -b 0.0.0.0:8080
    
    dev:
    	python app.py
    

make dev(または単にmake)で開発モード、make prodで本番モードのサーバーを起動できます。