Python: 為生產部署準備 Python 與 Flask

此文件屬於建立 REST API指南的一部分。請在此處查看完整指南:使用 Python 的 Flask 構建 REST API 的逐步指南

👋 歡迎瀏覽 Stackhero 文件!

Stackhero 為您提供即用型的 Python cloud 解決方案,專為簡化您的部署流程而設:

  • 只需一個簡單的 git push,即可於數秒內將您的應用程式部署到生產環境。
  • 支援自訂網域名稱,並為您自動配置 HTTPS 憑證,確保連線安全。
  • 享有自動備份一鍵更新可預測收費,讓您專注於開發程式碼,而無需煩惱基礎設施管理。
  • 專屬私有基礎設施上運行,確保高效能高安全性,您的環境將被隔離及保護。

節省時間簡化您的工作流程:利用 Stackhero 的 Python cloud hosting,您的程式碼最快只需 5 分鐘即可投入運作。

Flask 內建伺服器適合開發用途。生產環境建議使用更穩定的 WSGI 伺服器,例如 Gunicorn。準備方式如下:

  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 啟動生產模式。