que tiene un nuevo sitio web construido en Django y Python 2.6, que He desplegado a la nube (palabra de moda el estándar y la instancia EC2 de Amazon micro es gratis!).
Aquí están mis notas detalladas: https://docs.google.com/document/d/1qcZ_SqxNcFlGKNyp-CXqcFxXXsKs26Avv3mytXGCedA/edit?hl=en_USdespliegue fluido de Django para un solo servidor
Como este es un nuevo sitio (y con ganas de jugar con la última y más grande) Solía Nginx y Gunicorn en la parte superior del supervisor.
Todo el software instalado desde el tronco utilizando YUM/easy_install.
Mi base de datos es Sqlite (por ahora, no estoy seguro de dónde ir después, pero esa no es la pregunta). También en la lista de tareas pendientes: virtualenv + pip.
Hasta ahora todo bien.
Mi código está en SVN. Escribí un fabfile simple para implementar: verifica el código más reciente y reinicio Gunicorn a través de Supervisor. Conecté mi nombre DNS a una IP elástica.
Funciona.
Mi pregunta es, ¿cómo puedo actualizar el sitio sin una interrupción del servicio? Los usuarios del sitio obtienen 404s/500s cuando ejecuto mi pequeño script de actualización.
¿Hay una manera de hacer esto sin añadir otro servidor (el precio es clave)?
Me encantaría tener un sistema de estadificación (en un puerto diferente?) Y un interruptor sin fisuras entre ensayo y producción. En el mismo servidor (gratuito). A través de Fabric.
¿Cómo hago eso? ¿Es el mismo Nginx ejecutando ambos sitios? ¿Puedo actualizar la puesta en escena sin dañar la producción? ¿Cómo se vería el archivo fabfile? ¿Cómo se vería el árbol de directorios?
Gracias!
Tal.
relacionadas:
Para cualquiera que lea "EC2 Micro es gratis": no es realmente (al menos, ya no). Es gratis durante las primeras 750 h, que es aproximadamente una oferta de $ 20. compra el otro [Ofertas gratis de ASW] (http://aws.amazon.com/free/) .. – Stefano