Ich stoße auf Deployment-Probleme mit Phusion Passenger auf einer ziemlich großen App: blockierte Prozesse bei hohen Lasten, Leerlaufprozesse, langsames Hochfeuern einer Instanz usw. Also habe ich Unicorn untersucht, was ich sehr an einem mag Architektur / Performance-Perspektive.
Gibt es einfach zu befolgende Migrationsleitfäden, um von Nginx Phusion Passenger zu Unicorn zu gelangen?
Diese Frage ist alt, und meine Antwort beantwortet die Frage nicht direkt, aber ich bin gerade auf eine ziemlich detaillierte Anleitung zur Bereitstellung eines Stacks mit Unicorn, nginx, etc gestoßen:
Ich dachte, ich würde es für Leute, die in der Zukunft auf diese Frage stoßen, rauswerfen.
Da neuere Versionen von Rails Rack unter der Haube verwenden, sollte es relativ einfach sein, zwischen den Webservern zu wechseln. Wenn Sie Unicorn mit Ihrer Anwendung in einer Entwicklungsumgebung starten, welche spezifischen Probleme haben Sie?
Sie sollten Nginx weiterhin als Reverse Proxy verwenden können. Nach dem, was ich gesammelt habe, soll Unicorn den Lastenausgleich zwischen den Arbeitern selbst vornehmen, da es nur einen einzigen abhörenden Socket / Port hat, den sie gemeinsam nutzen. Daher sollte Nginx normalerweise als sehr einfacher Reverse Proxy und Asset Server konfiguriert werden, ohne Load Balancing. (Außer natürlich, wenn Arbeiter über Maschinen verteilt werden.)
Gibt es in Ihrer Anwendung eine spezifische Abhängigkeit von Passenger, die Sie lösen möchten? Oder fragen Sie nach allgemeinen Bereitstellungsanweisungen für Unicorn?
Diese Probleme wurden seither in Phusion Passenger gelöst. Phusion Passenger 4 unterstützt den asynchronen Prozess vollständig Ablaichung, bietet Schutz vor festgefahrenen Prozessen, unterstützt rollende Neustarts usw. Aus architektonischer Sicht hat Phusion Passenger 4 ein Hybrid-Evented- / Multi-Threading- / Multi-Prozess-Design übernommen. Es ist wie eine Zusammenführung zwischen Unicorn, Rainbows und Puma, aber es bietet einfache Konfigurationsoptionen, um den Modus nahtlos zu wechseln.
Tags und Links ruby-on-rails unicorn passenger