webentwicklung-frage-antwort-db.com.de

Der Phusion Passenger Watchdog kann nicht gestartet werden?

Ich habe mit Ubuntu 10.04 ein Phusion Passenger-Setup mit Apache2 durchgeführt. Bei jedem Neustart des Apache-Servers wurde die folgende Fehlermeldung angezeigt, und die Rails-Anwendung wird nicht ausgeführt.

[error] *** Passenger could not be initialized because of this error: Unable to start the Phusion Passenger watchdog because its executable (/usr/lib/phusion-passenger/agents/PassengerWatchdog) does not exist. This probably means that your Phusion Passenger installation is broken or incomplete, or that your 'PassengerRoot' directive is set to the wrong value. Please reinstall Phusion Passenger or fix your 'PassengerRoot' directive, whichever is applicable.
26
suvankar

Beim Kompilieren aus dem Quellcode bin ich auf das gleiche Problem gestoßen, aber es war zeitweilig, was wirklich frustrierend war (ich denke, es hat mit Rails-Umgebungen zu tun). Wir konnten die Skripts für das Passagier-Installations-Apache2-Modul/Passagier-Installations-Nginx-Modul nicht verwenden, da wir eine angepasste Nginx-Installation benötigten.

Ich behebte schließlich das Problem, indem ich zu dem passenger-config --root ging und dann lief: rake nginx.

Update Februar 2016 (von Passagierautor):

Die offiziell unterstützte Methode zum Kompilieren von PassengerAgent (ohne auch Nginx zu kompilieren, wie das Passenger-Install-Nginx-Modul dies tut) ist mit diesem Befehl:

passenger-config compile-agent

Passagier 5.0.26 und höher erkennt automatisch den in dieser StackOverflow-Frage beschriebenen Fehler und schlägt automatisch vor, den obigen Befehl auszuführen.

61
dylst

Ich bin gerade auf diesen Fehler gestoßen und habe mich bemüht, eine gute Antwort zu finden, also hier mein Bericht ... In meinem Setup werde ich Ubuntu, Apache2, den neuesten Passenger und Rails 2.3.

  1. Installieren Sie Ruby und Rubygems NB: Stellen Sie (sehr) sicher, dass Ihr gem -v korrekt ist. Wenn dies nicht der Fall ist, werden Sie dies alles zweimal tun
  2. Sudo gem install passenger
  3. cd /usr/lib
  4. wget http://rubyforge.org/frs/download.php/76005/passenger-3.0.12.tar.gz
  5. tar zxvf passenger-3.0.12.tar.gz
  6. cd passenger-3.0.12
  7. ./bin/passenger-install-Apache2-module
  8. Fügen Sie export PATH=/var/lib/gems/1.8/bin:$PATH zu ~/.bashrc hinzu
  9. ln -s /usr/lib/passenger-3.0.12 /usr/share/phusion-passenger # => Dies behebt eine mit PassengerWatchdog verbundene Verletzungswelt. NB: PassengerWatchdog kommt mit apt-get nicht aus dem Grund, weshalb wir die Binaries packten.
  10. ln -s /usr/lib/passenger-3.0.12 /usr/lib/phusion-passenger # => ähnliche Probleme.

Dies ist aus der Erinnerung, nachdem ich die letzten anderthalb Tage durchgeprügelt hatte. Ich werde aufräumen, wenn ich es noch einmal durchgehen muss.

9
TomDunning

Versuchen Sie, das Beifahrermodul zu installieren, indem Sie das Skript Passenger-Install-Apache2-Modul ausführen Ich hatte das gleiche Problem, aber auf nginx. Ich habe Beifahrer via gem installiert und dann nginx manuell mit Beifahrer-Modul neu kompiliert - dies hat den von Ihnen beschriebenen Fehler verursacht. Nach dem Ausführen des Passenger-Install-Nginx-Moduls verschwand dieser Fehler.

7
Piotr

Es war schon eine Weile her, seit ich Nginx neu gestartet hatte, und in der Zwischenzeit hatte sich der Weg zum Passagier geändert. Ich schaute in nginx.conf, um zu sehen, worauf der passenger_root eingestellt war und erkannte, dass es der alte Wert war:

http {
    passenger_root /home/nginx/Rails_app/myapp/shared/bundle/Ruby/1.9.1/gems/passenger-enterprise-server-3.0.17;

Es gibt oft zwei Orte, an denen man sich ändern kann:

server {
    listen 8888;
    root /home/nginx/Rails_app/myapp/current/public;

Ich habe Nginx neu gestartet und der Fehler war weg.

0
Kevin Trotter