Nginx/Unicorn не показывает изменения при развертывании

У меня странная проблема. Мы используем Rails 3.2.2, Nginx и Unicorn. Если мы изменим текст, например, в index.html.erb, то после развертывания изменение не будет отображаться.

Если я посмотрю файл на рабочем сервере, я увижу, что изменение на самом деле находится в «текущем» каталоге. Так что я знаю, что он был выпущен правильно.

Как будто Unicorn не обновляется или не перезагружается правильно (хотя я перезагружаюсь при развертывании).

Еще более странно - я изменил настройки smtp электронной почты приложений. После развертывания я получаю неверное имя пользователя/пароль SMTP 535. Однако, если я обновляю 3 раза, все работает. Опять же - может ли это быть какой-то рабочий процесс nginx/unicorn, кэширующий старый код?

Я должен развернуть этот проект сегодня, поэтому я испытываю некоторое давление, чтобы понять это. Любая помощь приветствуется. Спасибо!


person Northband    schedule 11.04.2012    source источник
comment
Пожалуйста, добавьте содержимое вашей конфигурации Unicorn (обычно config/unicorn.rb)   -  person ezkl    schedule 11.04.2012
comment
Вы когда-нибудь разбирались с этой проблемой? У меня аналогичная установка, Rails 3.2.9/nginx/unicorn, и изменения в моих шаблонах erb не отображаются при развертывании. Дайте нам знать, если вы добились какого-либо прогресса!   -  person DelPiero    schedule 04.02.2013


Ответы (1)


Здесь задействовано множество различных переменных. В зависимости от того, как вы настроили Unicorn, вам может потребоваться отправить unicorn master сигнал USR2 для вращения запустите новый мастер-процесс, за которым следует сигнал QUIT старому мастеру-единорогу, чтобы пожать его.

В зависимости от среды производственного сервера и механизма развертывания вы можете использовать такой инструмент, как foreman, чтобы управлять своими единорогами немного проще при развертывании.

person ezkl    schedule 11.04.2012