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

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

👋 歡迎來到 Stackhero 文檔!

Stackhero 提供一個即用型的 Python 雲端 解決方案,帶來多項好處,包括:

  • 只需一個簡單的 git push,即可在幾秒鐘內部署您的應用程式。
  • 使用您自己的域名,並享受 HTTPS 證書的自動配置以增強安全性。
  • 享受自動備份一鍵更新,以及簡單、透明且可預測的定價,讓您安心無憂。
  • 得益於專用的私人 VM,獲得最佳的性能和強大的安全性

節省時間簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Python 雲端託管 解決方案!

雖然本指南使用 Flask 的內建開發伺服器,但在生產環境中,使用像 Gunicorn 這樣的生產就緒 WSGI 伺服器是必須的。請按照以下步驟操作:

  1. 安裝 Gunicorn:

    pip install gunicorn
    pip freeze > requirements.txt
    
  2. 使用 app:app 參數啟動您的應用程式(其中第一個 app 是文件名,第二個 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 在生產模式下運行。