framework python django-deployment

framework - django python



Implementando Django: ¿Cómo lo haces? (6)

Este parece un buen lugar para comenzar: http://www.unessa.net/es/hoyci/2007/06/using-capistrano-deploy-django-apps/

He intentado seguir guías como esta, pero simplemente no funcionó para mí.

Así que mi pregunta es esta: ¿cuál es una buena guía para implementar Django y cómo desplegar su Django?

Sigo oyendo que capastrano es bastante ingenioso de usar, pero no tengo idea de cómo trabajar o qué hace (aparte de la automatización de implementar código), o incluso si quiero / necesito usarlo o no.



La forma más fácil sería usar uno de los sitios en http://djangofriendly.com/hosts/ que proporcionará el alojamiento y la configuración para usted, pero incluso si quiere hacer lo propio, le permitirá ver qué configuración están usando otros sitios.


En mi trabajo anterior teníamos mucha experiencia en tareas de despliegue, implementó una aplicación (Python, SQL, Perl y código Java) como un conjunto de archivos deb creados para Ubuntu. Desafortunadamente ahora, no tengo tal apoyo. Estamos implementando aplicaciones manualmente en entornos virtualenv-ed con configuraciones nginx separadas para FastCGI. Utilizamos pavimentadora para implementar en servidores remotos. Es doloroso, pero funciona.


Yo uso mod_python, y tengo cada sitio en un repositorio git con los siguientes subdirectorios:

  • mi sitio
  • modelo
  • medios de comunicación

Tengo mysite/settings.py en .gitignore , y trabajo así:

  1. hacer desarrollo en mi máquina local
  2. crear un repositorio remoto en un servidor web
  3. empujar mis cambios al repositorio del servidor web
  4. configurar el archivo de configuración de Apache vhost, modificar el servidor en vivo settings.py
  5. Ejecute git checkout && git reset --hard && sudo /etc/init.d/apache2 restart en el servidor web repo para obtener la versión actualizada de su copia de trabajo y reinicie apache
  6. repita los pasos 1, 3 y 5 cuando llegue una solicitud de cambio

mod_wsgi en combinación con un virtualenv para todas las dependencias, un checkout mercurial en el virtualenv y una receta de fabric para verificar los cambios en el servidor.

Escribí un artículo sobre mi flujo de trabajo habitual: implementación de aplicaciones web de Python . Espero que ayude.