Простое развертывание Django на одном сервере

У меня есть новый веб-сайт, построенный на Django и Python 2.6, который я развернул в облаке (соответствует модному слову И экземпляр Amazon micro EC2 бесплатен !).
Вот мои подробные заметки: https://docs.google.com/document/d/1qcZ_SqxNcFlGKNyp-CXqcFxXXsKs26Avv3mytXGCedA/edit?hl=en_US

Поскольку это новый сайт (и он хочет поиграть с последним величайший) Я использовал Nginx и Gunicorn поверх Supervisor.
Все программное обеспечение устанавливается из транка с помощью YUM / easy_install.
Моя база данных - Sqlite (пока - не знаю, куда идти дальше, но вопрос не в этом). Также в списке задач: virtualenv + pip.
Пока все хорошо.
Мой код в SVN. Я написал простой fab-файл для развертывания - проверяет последний код и перезапускает Gunicorn через Supervisor. Я привязал свое DNS-имя к эластичному IP-адресу.
Он работает.

У меня вопрос, как мне обновить сайт без прерывания работы? Пользователи сайта получают ошибки 404/500, когда я запускаю свой небольшой скрипт обновления.

Есть ли способ сделать это, не добавляя еще один сервер (цена является ключевым моментом)?

Я бы хотел иметь промежуточную систему (на другой порт?) и плавное переключение между промежуточным и производственным. На том же (бесплатном) сервере. Через ткань.
Как я могу это сделать? На обоих сайтах работает один и тот же Nginx? Могу ли я обновить постановку без ущерба для производства? Как бы выглядел fabfile? Как бы выглядело дерево каталогов?

Спасибо!

Tal.

По теме:

5
задан Community 23 May 2017 в 10:29
поделиться