Python: Python und Flask für den Produktivbetrieb vorbereiten

Diese Dokumentation ist Teil des Erstellung einer REST API-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Schritt-für-Schritt-Anleitung zum Aufbau einer REST API mit Flask in Python.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Python Cloud-Lösung, die Ihren Deployment-Prozess vereinfacht:

  • Deployen Sie Ihre Anwendung in die Produktion in Sekunden mit einem einfachen git push.
  • Verwenden Sie Ihre eigene Domain, mit automatischer HTTPS-Zertifikatskonfiguration – sichere Verbindungen werden für Sie eingerichtet.
  • Profitieren Sie von automatischen Backups, One-Click-Updates und planbaren Kosten, damit Sie sich auf Ihren Code konzentrieren können, nicht auf das Infrastrukturmanagement.
  • Nutzen Sie starke Performance und Sicherheit auf einer privaten, dedizierten Infrastruktur. Ihre Umgebung ist isoliert und geschützt.

Sparen Sie Zeit und vereinfachen Sie Ihren Workflow: Ihr Code läuft mit Stackheros Python Cloud Hosting in nur 5 Minuten.

Der integrierte Server von Flask eignet sich hervorragend für die Entwicklung. Für den Produktivbetrieb empfiehlt sich jedoch ein robuster WSGI-Server wie Gunicorn. So bereiten Sie Ihr Projekt vor:

  1. Installieren Sie Gunicorn:

    pip install gunicorn
    pip freeze > requirements.txt
    
  2. Starten Sie Ihre App mit Gunicorn:

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

    Hierbei steht app:app für Ihre Datei (app.py) und die Flask-Anwendung (app).

  3. Sie können ein Makefile hinzufügen, um einfach zwischen Entwicklungs- und Produktionsmodus zu wechseln:

    .DEFAULT_GOAL := dev
    
    # Stackhero for Python führt standardmäßig das "run"-Ziel aus. Wir überschreiben es, um 'prod' zu starten.
    run: prod
    
    prod:
    	ENV=production gunicorn app:app \
    	  --error-logfile - \
    	  -b 0.0.0.0:8080
    
    dev:
    	python app.py
    

Sie können den Server im Entwicklungsmodus mit make dev (oder einfach make) starten oder im Produktionsmodus mit make prod.