Passagier 4 mit PassengerRuby und verschiedenen Schmuckstücken

7

Ich habe einen Server, der hauptsächlich Ruby 1.8.7 ausführt, aber jetzt habe ich eine Rails 3.2 App, die 1.9.3 benötigt. Ich habe Passenger 4 installiert, da es die Möglichkeit unterstützt, mehrere Rubine auf einer virtuellen Serverbasis auszuführen.

Es scheint jedoch so zu sein, dass Sie zwar einen bestimmten Ruby zuweisen können, die Anwendung jedoch keinen Zugriff auf diesen Ruby-Satz hat. Also habe ich meinen virtuellen Server mit dem 1.9.3 Ruby konfiguriert, wie auf der Fehlerseite bestätigt, die meine Anwendung jetzt gibt:

%Vor%

Aber der GEM_HOME Parameter erzählt eine andere Geschichte:

%Vor%

Wenn ich die Konfigurationsrichtlinien für Passenger 4 durchführe, sehe ich keine Möglichkeit, einen anderen Edelstein festzulegen. Fehle ich etwas oder ist dieses Ding einfach nicht bereit für die Prime Time?

    
Aaron Vegh 23.03.2013, 02:32
quelle

2 Antworten

21

Von deinem gemset dir run:

%Vor%

Er wird dir den rubinösen Pfad für Apache und Nginx anzeigen.

%Vor%

Nginx: Für Passagier 4 können Sie mehrere Ruby-Versionen angeben. Also für bestimmte Server-Konfiguration:

Ihre_site.conf:

%Vor%

nginx.conf: (das funktioniert für neuen Passagier 4.0.17)

%Vor%

Laufen Sie einfach von Ihrem Edelstein-Set aus:

%Vor%

Es wird überprüft, ob passenger_native_support.so verfügbar ist. Abhängig von Ihrer RVM-Installation müssen Sie sie möglicherweise mit rvmsudo

ausführen %Vor%

Für Debian / Ubuntu gibt es jetzt Binärpakete von nginx und Passagier verfügbar , was die Installation viel einfacher macht.

    
Tombart 13.09.2013 09:33
quelle
6

Als Tombart wies darauf hin: Wenn Sie die precompiled Passagiermodule (in meinem Fall für Apache2) enden Sie damit, dass ein System läuft.

Bei der Verwendung von RVM bin ich jedoch auf die Tatsache gestoßen, dass Sie das "Wrapper-Verzeichnis" verwenden müssen, um die richtige RVM-Ruby-Version auszuwählen < strong> und gemet wie in deiner Apache vhost config:

%Vor%

Auf diese Weise kann der Passagier den richtigen Edelstein relativ zu diesem Verzeichnis finden ( ../../gems/ruby-x.y.z-p123@gemset/gems ). Sonst würde Passenger den "Standard Ruby Gemset" verwenden, der ungerade ist, wenn Sie mehrere Apps mit der gleichen Ruby-Version ausführen möchten. Ich kann nur vermuten, dass dies für Nginx ähnlich ist.

    
thorsten 23.10.2013 07:54
quelle

Tags und Links