2012-04-11 11 views
1

Ich habe ein seltsames Problem. Wir betreiben Rails 3.2.2, Nginx und Unicorn. Wenn wir beispielsweise einen Text in index.html.erb ändern, wird die Änderung nicht angezeigt.Nginx/Unicorn zeigt keine Änderungen nach der Bereitstellung

Wenn ich mir die Datei auf dem Produktionsserver anschaue, kann ich sehen, dass sich die Änderung tatsächlich im 'aktuellen' Verzeichnis befindet. Ich weiß, dass es korrekt veröffentlicht wurde.

Es ist, als ob Unicorn nicht selbst aktualisiert oder neu gestartet wird (obwohl ich nach der Bereitstellung neu starte).

Noch seltsamer - ich habe die E-Mail-SMTP-Einstellungen der Apps geändert. Nach der Bereitstellung bekomme ich SMTP 535 ungültigen Benutzernamen/Passwort. Wenn ich jedoch 3 mal aktualisiere, funktioniert es. Nochmal - könnte das eine Art Nginx/Einhorn-Arbeiter sein, der alten Code zwischenspeichert?

Ich muss dieses Projekt heute bereitstellen, bin also unter etwas Druck, dies herauszufinden. Jede Hilfe wird geschätzt. Vielen Dank!

+0

Bitte fügen Sie den Inhalt Ihrer Unicorn-Konfiguration hinzu (normalerweise 'config/unicorn.rb') –

+0

Haben Sie jemals dieses Problem herausgefunden? Ich habe ein ähnliches Setup, Rails 3.2.9/nginx/Einhorn, und Änderungen an meinen erb Templates werden nicht angezeigt, wenn ich bereitstellen. Lassen Sie uns wissen, wenn Sie Fortschritte gemacht haben! – DelPiero

Antwort

0

Es gibt eine Reihe verschiedener Variablen. Abhängig davon, wie Unicorn konfiguriert wurde, müssen Sie möglicherweise ein USR2 signal-Signal senden, um einen neuen Master-Prozess hochzufahren, gefolgt von einem QUIT-Signal an den alten Einhorn-Master, um es zu ernten.

Je nach Produktionsserverumgebung und Bereitstellungsverfahren können Sie möglicherweise ein Tool wie foreman verwenden, um die Verwaltung Ihrer Unicorns bei der Bereitstellung ein wenig zu vereinfachen.

Verwandte Themen