Python: Python ir Flask paruošimas gamybinei aplinkai

Ši dokumentacija yra REST API kūrimas vadovo dalis. Visą vadovą rasite čia: Žingsnis po žingsnio vadovas, kaip sukurti REST API naudojant Flask su Python.

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti Python cloud sprendimą, sukurtą tam, kad jūsų diegimo procesas būtų kuo paprastesnis:

  • Diekite savo aplikaciją į gamybinę aplinką per kelias sekundes su paprastu git push.
  • Naudokite savo pasirinktą domeno vardą, su automatiniu HTTPS sertifikato konfigūravimu – saugūs ryšiai bus užtikrinti automatiškai.
  • Pasikliaukite automatinėmis atsarginėmis kopijomis, atnaujinimais vienu paspaudimu ir prognozuojama kainodara, kad galėtumėte susitelkti į savo kodą, o ne infrastruktūros valdymą.
  • Naudokitės aukštu našumu ir saugumu privačioje, dedikuotoje infrastruktūroje. Jūsų aplinka yra izoliuota ir apsaugota.

Taupykite laiką ir supaprastinkite savo darbo eigą: jūsų kodas gali veikti Stackhero Python cloud hosting platformoje vos per 5 minutes.

Flask vidinis serveris puikiai tinka vystymui. Gamyboje rekomenduojama naudoti patikimą WSGI serverį, pvz., Gunicorn. Štai kaip pasiruošti:

  1. Įdiekite Gunicorn:

    pip install gunicorn
    pip freeze > requirements.txt
    
  2. Paleiskite aplikaciją su Gunicorn:

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

    Čia app:app reiškia jūsų failą (app.py) ir Flask aplikacijos instanciją (app).

  3. Galite pridėti Makefile, kad lengvai perjungtumėte vystymo ir gamybos režimus:

    .DEFAULT_GOAL := dev
    
    # Stackhero for Python pagal nutylėjimą vykdo "run" taisyklę. Perrašome ją, kad vykdytų 'prod'.
    run: prod
    
    prod:
    	ENV=production gunicorn app:app \
    	  --error-logfile - \
    	  -b 0.0.0.0:8080
    
    dev:
    	python app.py
    

Serverį galite paleisti vystymo režimu su make dev (arba tiesiog make), arba gamybos režimu su make prod.