Python: 为生产部署准备 Python 和 Flask

本文件是创建 REST API指南的一部分。您可以在这里查看完整指南:如何使用 Flask 创建 REST API

👋 欢迎来到 Stackhero 文档!

Stackhero 提供现成的 Python 云 解决方案,具有众多优势,包括:

  • 通过简单的 git push 在几秒钟内 部署您的应用程序。
  • 使用您自己的域名,并享受 HTTPS 证书的自动配置以增强安全性。
  • 享受 自动备份一键更新,以及简单、透明和可预测的定价带来的安心。
  • 通过私有和专用的 VM获得最佳的性能和强大的安全性

节省时间简化您的生活:尝试 Stackhero 的 Python 云托管 解决方案只需 5 分钟

虽然本指南使用 Flask 的内置开发服务器,但对于生产环境,使用生产就绪的 WSGI 服务器(如 Gunicorn)是必不可少的。请按照以下步骤操作:

  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 在生产模式下运行。