Django en producció

De Cacauet Wiki
Salta a la navegació Salta a la cerca

En aquest article veurem diverses maneres de posar en producció en un servidor el framework web Django.

Abans que res cal que compteu amb un projecte propi en Django, a l'estil d'aquest, que és el mateix que hi ha al tutorial oficial de Django:

https://github.com/emieza/provadjango

Si voleu utilitzar aquest projecte de prova meu, tingueu en compte que està fet amb Django 1.7, i que per tant cal instal·lar aquesta versió concreta en el vostre Virtualenv amb

(env) $ pip install django==1.7


Django en producció amb el servidor de desenvolupament

Aquesta versió és una xapussa per fer proves però que en ocasions és útil per depurar algun possible problema del servidor. Per tant, aquest NO és un mètode recomanable per producció, simplement és per fer proves i una primer aproximació al tema.

  1. Obriu el port 8080 del vostre servidor, si és que te un firewall (com és el cas del AWS).
  2. Instal·leu Virtualenv en el servidor.
  3. Creeu un virtualenv per al projecte i feu-hi un source com indica l'article Virtualenv
  4. Instal·leu Django (si és el projecte que hi ha en aquest article instal·leu la versió 1.7 com s'indica)
  5. Descarregueu el projecte de Django del repositori de GITHUB pertinent, hauria de ser similar a:
    (env) $ git clone https://github.com/emieza/provadjango.git
  6. Instal·leu la base de dades amb un makemigrations i un migrate
  7. Correu el servidor amb la comanda:
    (env) $ python manage.py runserver 0.0.0.0:8080 &

Pareu atenció a les novetats d'aquesta darrera comanda:

  • Mitjançant 0.0.0.0 permetrem que qualsevol màquina pugui accedir al servidor (abans amb 127.0.0.1 només es podia accedir des de localhost).
  • El port d'accés és el 8080
  • El "&" final permet que el procés sigui independent de la nostra shell, i ara la podrem tancar sense problema.


Django en producció amb Apache i WSGI

...


Django en producció amb Openshift

...


Django en producció amb Gunicorn

...