Python: Python en Flask voorbereiden op productie

Deze documentatie maakt deel uit van de Een REST API maken-gids. Bekijk de volledige gids hier: Stapsgewijze handleiding voor het bouwen van een REST API met Flask in Python.

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een kant-en-klare Python cloud oplossing die uw deploymentproces vereenvoudigt:

  • Deploy uw applicatie naar productie in enkele seconden met een simpele git push.
  • Gebruik uw eigen domeinnaam, met automatische HTTPS-certificaatconfiguratie voor veilige verbindingen die volledig voor u geregeld worden.
  • Profiteer van automatische back-ups, one-click updates en voorspelbare prijzen, zodat u zich kunt richten op uw code en niet op infrastructuurbeheer.
  • Geniet van uitstekende performance en security op een private, dedicated infrastructuur. Uw omgeving is geïsoleerd en beveiligd.

Bespaar tijd en vereenvoudig uw workflow: uw code draait binnen 5 minuten op Stackhero's Python cloud hosting.

De ingebouwde server van Flask is ideaal voor ontwikkeling. Voor productie gebruikt u bij voorkeur een robuuste WSGI-server zoals Gunicorn. Zo bereidt u zich voor:

  1. Installeer Gunicorn:

    pip install gunicorn
    pip freeze > requirements.txt
    
  2. Start uw app met Gunicorn:

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

    Hier verwijst app:app naar uw bestand (app.py) en de Flask applicatie-instantie (app).

  3. U kunt een Makefile toevoegen om eenvoudig te schakelen tussen ontwikkel- en productiemodus:

    .DEFAULT_GOAL := dev
    
    # Stackhero for Python voert standaard de "run" regel uit. We overschrijven deze om 'prod' te draaien.
    run: prod
    
    prod:
    	ENV=production gunicorn app:app \
    	  --error-logfile - \
    	  -b 0.0.0.0:8080
    
    dev:
    	python app.py
    

U kunt de server starten in ontwikkelmodus met make dev (of gewoon make), of in productiemodus met make prod.