2015-12-15 2 views
4

Какова наилучшая практика, когда у меня есть обновление для моего приложения Django, введенного в мое производство? Должен ли я перезапустить оба gunicorn и nginx услуг, сДолжен ли я перезапустить и nginx и gunicorn при обновлении производства?

sudo service gunicorn restart 
sudo service nginx restart 

или перезапуск только gunicorn достаточно? Наконец, порядок перезапуска имеет какое-то значение, если мне нужно выполнить оба перезапуска? Благодаря!

+1

Я использую uWsgi и nginx, и я не перезапускаю ни один из них. Я думаю, вы не должны перезапускать nginx, если вы не измените его файлы конфигурации. И вы, вероятно, захотите перезагрузить единорога (отправив сигнал [HUP] (http://docs.gunicorn.org/en/19.3/signals.html)). Надеюсь, вы скоро получите ответ. – Lucas03

+0

Большое спасибо – pebox11

ответ

1

Все зависит от того, как вы настроили свою коробку.

Чтобы сократить время простоя до абсолютного минимума, я загружаю свой новый выпуск в другой каталог на коробке, пока старая версия все еще работает. Я создаю новую виртуальную среду, основанную на моем требовании. Затем я запускаю второй экземпляр gunicorn с новой версией, запущенной в нем (выполняется через supervisord с записями в supervisord.conf) и оставляю старый экземпляр еще запущенным.

Затем я обновляю свой файл vginx nginx, чтобы указать серверу на гнездо для пушки оружия новой версии и, наконец, перезагрузить nginx. Я быстро проверяю, что новый сайт работает и работает, а затем я останавливаю старый экземпляр для пушки. Если по какой-то причине он не отвечает, я снова переключаю свою конфигурацию nginx, чтобы снова указывать на старую, а затем выясните, что случилось.

Я делаю все это с помощью сценария анзибля, но здесь большая статья с некоторыми скриптами Fabric, чтобы сделать что-то подобное: https://medium.com/@healthchecks/deploying-a-django-app-with-no-downtime-f4e02738ab06

Если, с другой стороны, вы просто обновить свой код на месте, то есть не должно быть никаких изменений, необходимых для вашей конфигурации nginx, поэтому вам не нужно ее перезагружать. Просто перезагрузите оружие, и вам хорошо идти.

+0

Спасибо Anna. Очень хороший подход! Пальцы вверх – pebox11

Смежные вопросы