Upgrade von Phusion Passenger ohne Neuinstallation von Nginx

8

Ist es möglich, Phusion Passenger auf eine neuere Version zu aktualisieren, wenn diese bereits läuft (in meinem Fall mit Nginx)?

Ich habe Passenger 4.0.0.rc6 mit passenger-install-nginx-module installiert. Meine Nginx-Konfiguration enthält jetzt

%Vor%

Jetzt möchte ich auf Passenger 4.0.2 upgraden. Ich kann den Gem installieren, aber wenn ich passenger-install-nginx-module erneut starte, versuche ich Nginx neu zu kompilieren und neu zu installieren. (Ich dachte, es wäre so clever zu bemerken, dass es bereits ein installiertes Nginx an der Stelle gibt, die ich mit --prefix angegeben habe)

Ich habe versucht, passenger_root manuell auf die neue Passenger-Position zu ändern, aber ich erhalte den folgenden Fehler im Nginx-Fehlerprotokoll:

%Vor%

Anscheinend wird die PassengerWatchdog erstellt, wenn passenger-install-nginx-module ausgeführt wird. Ich möchte nicht PassengerWatchdog von dem alten Juwel kopieren, da sich etwas verändert haben könnte.

Also ... Was ist der richtige Weg, um Passenger zu aktualisieren, ohne Nginx (oder Apache) neu zu kompilieren und neu zu installieren?

    
Manuel Meurer 12.05.2013, 12:44
quelle

2 Antworten

17

@ Wukerplanks Kommentar hat mich auf den richtigen Weg gebracht. Ich habe die Ausgabe überprüft, als ich passenger-install-nginx-module erneut ausgeführt habe und es heißt:

%Vor%

Der wichtige Teil ist, dass Nginx neu mit Passenger zu arbeiten ist und dass bestehende Nginx-Konfigurationen erhalten bleiben.

Der richtige Weg, um den Passagier zu aktualisieren, ist also

  1. Installieren Sie das neue Passagier-Juwel
  2. Führe passenger-install-nginx-module mit genau den gleichen Parametern aus wie beim ersten Mal (also werden die gleiche Nginx-Version und die gleichen Module kompiliert, es wird im selben Verzeichnis installiert.)
  3. Überprüfen Sie vor der Installation, dass "Willkommen beim Installationsprogramm des Phusion Passenger Nginx-Moduls, v4.0.2" lautet. mit der neuen Version oben (4.0.2 in meinem Fall)
  4. Nachdem Nginx installiert wurde, ändern Sie passenger_root in Ihrem vorhandenen Nginx conf (Pfad / zu / nginx / conf / nginx.conf), um auf die neue Edelsteinversion zu verweisen (ersetzen Sie einfach die alte Versionsnummer durch die neue) / li>
  5. Starten Sie Nginx neu
  6. Gewinn
Manuel Meurer 12.05.2013, 19:21
quelle
5

Sie können kein Upgrade durchführen, ohne Nginx neu zu kompilieren. Vollständige Anweisungen zum Upgrade finden Sie im Handbuch zu Phusion Passenger for Nginx . Aus dem Handbuch:

  

Nginx unterscheidet sich von anderen Webservern darin, dass es keine ladbaren Module unterstützt. Die einzige Möglichkeit, Nginx zu erweitern, besteht darin, es vollständig von der Quelle neu zu kompilieren. Da Phusion Passener aus einigen externen ausführbaren Dateien und einem Nginx-Modul besteht, müssen Sie Nginx bei der ersten Installation von Phusion Passenger neu kompilieren, aber auch beim Upgrade von Nginx selbst oder beim Upgrade der Phusion Passenger-Version.

     

In diesem Schritt werden wir Nginx und die ausführbaren Dateien von Phusion Passenger neu kompilieren. Die gute Nachricht ist, dass Phusion Passenger ein Werkzeug zur Verfügung stellt, um Ihnen das zu erleichtern.

     

Wenn Sie Nginx bereits zuvor installiert haben, aber keine Unterstützung von Phusion Passenger haben, sollten Sie es zuerst deinstallieren. Das müssen Sie nicht, da Sie parallel zu dem vorhandenen Nginx auch ein anderes Nginx mit Phusion Passenger-Unterstützung installieren können. Wir empfehlen lediglich, das vorhandene zu deinstallieren, um Verwirrung zu vermeiden, aber die Wahl liegt bei Ihnen.

     

Wenn Sie zuvor Nginx mit der Unterstützung von Phusion Passenger installiert haben und ein Upgrade durchführen, müssen Sie Ihr vorhandenes Nginx nicht zuerst deinstallieren. Stattdessen überschreiben wir diesen Schritt. Es ist jedoch wichtig, dass Sie Nginx mit den beim letzten Mal verwendeten Konfigurationsparametern neu kompilieren.

    
Hongli 14.05.2013 10:55
quelle

Tags und Links