Python: 本番展開のためのPythonとFlaskの準備

このドキュメントはREST APIの作成ガイドの一部です。完全なガイドはこちらからご覧いただけます:Flaskを使用したREST APIの作成方法

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

Stackheroは、数多くの利点を提供するPythonクラウドソリューションを提供しています。主な利点は以下の通りです:

  • シンプルなgit pushでアプリケーションを数秒でデプロイ
  • 独自のドメイン名を使用し、HTTPS証明書の自動設定による強化されたセキュリティを享受。
  • 自動バックアップワンクリックアップデート、そしてシンプルで透明性のある予測可能な価格設定で安心を提供。
  • プライベートで専用のVMによる最適なパフォーマンスと強固なセキュリティを実現。

時間を節約し、生活を簡素化: StackheroのPythonクラウドホスティングソリューションを試すのに5分しかかかりません

このガイドではFlaskの組み込み開発サーバーを使用していますが、本番環境ではGunicornのような本番対応のWSGIサーバーを使用することが重要です。次の手順に従ってください。

  1. Gunicornをインストールします。

    pip install gunicorn
    pip freeze > requirements.txt
    
  2. app:app引数を使用してGunicornでアプリを起動します(最初のappはファイル名、2番目のappはFlaskインスタンスです)。

    ENV=production gunicorn app:app \
      --error-logfile - \
      -b 0.0.0.0:8080
    
  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を使用して本番モードで実行できます。